如何用批处理修改系统path环境变量.doc_第1页
如何用批处理修改系统path环境变量.doc_第2页
如何用批处理修改系统path环境变量.doc_第3页
如何用批处理修改系统path环境变量.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何用批处理修改系统path环境变量如何用批处理修改系统path环境变量如何用批处理修改系统path环境变量目的:修改或添加系统path环境变量,如果环境变量中有c:3,则删除之,如果没有%System32%qqq则添加该路径.我在批处理中用regedit/e或reg export导出注册表的HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerEnvironment项,但导出的path是下列方式的16进制数,且有多行:ComSpec=hex(2):25.Path=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,message,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,3b,00,25,00,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,3b,00,25,.FP_NO_HOST_CHECK=NOOS=Windows_NTPROCESSOR_ARCHITECTURE=x86.请教高手:1.对导出的注册表项如何只保留其中的path项(多行完整保留)2.如何修改已有路径和添加新的路径说明:在cmd中用set path方式得到的路径都绝对路径,而不是注册表中的相对路径.我希望得到相对路径,而且绝对路径好象无法导入注册表中更改path值path=%path%;D:My_Path dos下运行set path=%path%;D:My_Path然后运行set path可以查看设置后的值。缺点:运行完批处理后看看系统的path环境变量,添加的路径保存不了,只是在批处理里有效而已。添加系统环境变量:环境变量值需要手工输入,导入注册表的,应该是永久的。不知道系统环境变量可容纳的字符是多少,如果容纳的比较小,可能导入不成功,呵呵,我也不知道。echo off&setlocal enabledelayedexpansion:begin cls set/p path_=请输入你要添加的环境变量的路径:if not defined path_ goto error for,/f,skip=4 tokens=1,2,*,%a,in,(reg queryHKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerEnvironment/v Path),do,(echo当前的环境变量为:echo%c echo;set/p yesno=是否确认将%path_%添加到系统环境变量中去?Y/Nif/i!yesno!=y(reg addHKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerEnvironment/v Path/t REG_EXPAND_SZ/d%c;%path_%/f)goto:eof)pause goto:Eof:error echo输入错误,请重新输入pause goto beginWindows Server 2003自带一个修改用户、系统环境变量并永久生效的工具:SETX.EXE注:setx,在XP下可以运行。这个工具已经强大到你可以指定存在于一个文本文件内的(x,y)座标来直接取文本值并设置到环境变量内,并永久生效。(备注:下面SETX工具的使用说明SetX有三种使用方式:语法1:SETX/S system/Udomainuser/Ppasswordvar value/M语法2:SETX/S system/Udomainuser/Ppasswordvar/K regpath/M语法3:SETX/S system/Udomainuser/Ppassword/F filevar/A x,y|/R x,y string/M|/X/D delimiters描述:在用户或系统环境创建或修改环境变量。能基于参数、注册表项或文件输入设置变量。参数列表:/S system指定要连接的远程系统。/Udomainuser指定命令在其下执行的用户上下文。/Ppassword指定给定用户上下文的密码。如果省略则提示输入。var指定要设置的环境变量。value指定分配给环境变量的值。/K regpath指定变量是基于注册表项的信息而设置的。路径的格式应该是hivekey.value。例如HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformationStandardName。/F file指定要使用的文本文件的文件名。/A x,y指定绝对文件坐标(线X,项目Y)作为在此文件里搜索的参数。/R x,y string指定有关字符串作为搜索参数的相对文件坐标。/M指定应该在系统(HKEY_LOCAL_MACHINE)环境中设置此变量。在HKEY_CURRENT_USER环境下,默认将设置此变量。/X用x,y坐标显示文件内容。/D delimiters指定其他限定符,如,或。内置分隔符是空格、制表符、回车和换行符。所有ASCII字符都可作为限定符。限定符的最大数量,包括内置分隔符,是15。/?显示帮助消息。注意:1)SETX在注册表中将变量写入主机环境。2)在本地系统,用此工具创建或修改的变量将在以后的命令窗口可用,但在当前的CMD.exe命令窗口。3)在远程系统,用此工具创建或修改的变量在下次登录会话可用。4)有效的注册表项数据类型是REG_DWORD,REG_EXPAND_SZ,REG_SZ和REG_MULTI_SZ。5)受支持的配置单元:HKEY_LOCAL_MACHINE(HKLM),HKEY_CURRENT_USER(HKCU)。6)限定符区分大小写。7)REG_DWORD的值是从注册表里以十进制格式提取出来的。示例:SETX MACHINE COMPAQ SETX MACHINECOMPAQ COMPUTER/M SETX MYPATH%PATH%SETX MYPATHPATHSETX/S system/U user/P password MACHINE COMPAQ SETX/S system/U user/P password MYPATH%PATH%SETX TZONE/K HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformationStandardName SETX BUILD/KHKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionCurrentBuildNumber/M SETX/S system/U user/P password TZONE/K HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformationStandardName SETX/S system/U user/P password BUILD/KHKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionCurrentBuildNumber/M SETX/F ipconfig.out/X SETX IPADDR/F ipconfig.out/A 5,11 SETX OCTET1/F ipconfig.out/A 5,3/D#$*.SETX IPGATEWAY/F ipconfig.out/R 0,7 Gateway SETX/S system/U user/P password/F c:ipconfig.out/X下面是这个SETX.EXE Windows Se rver 2003自带的环境变量操纵工具的中文使用技巧:)这个命令行工具提供了一种批量修改环境变量的方法,同时不需要使用任何编程方法或者是脚本。此外,除了可以获得变量和值之外还可以跟注册表的值挂上关系。在2000中除了setx.exe之外,其他没有任何一种命令行工具可以直接设置系统变量值。只有通过控制面板和注册表编辑器才能够设置。如果有人说可以用set命令的话,实际上这个CMD的内部命令只能够设置当前控制台窗口的用户环境变量。setx允许你通过Command Line Mode,Registry Mode,File Mode,这三种模式来设置环境变量。a.Command-Line setx variable value-m variable要设置的环境变量的名字。value要设置的值。-m设置计算机环境,默认设置是用户环境。b.Registry Mode setx variable-k hivekeyvalue-m variable要设置的环境变量的名字。-k指定变量设置会基于注册表中的信息。hivekeyvalue注册表路径,如:HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformationStandardName-m同命令行模式。c.File Mode setx variable-f filename-a x,y-r x,ystring-d d-x-m-f filename指定使用的文件名。-a x,y指定要搜索的绝对坐标或者是偏移量。-r x,ystring指定从string的相对坐标或者是偏移。-d d指定附加的分隔符,后一个d表示,可以是,等等。系统有四个内建的分隔符是:space,tab,carriage return,linefeed。附加的可以是任意的ASCII字符。-x显示文件坐标,这个时候-a,-r,-d会变忽略。-m在同上。setx将变量写入到在注册表的主环境中去。用setx设置的变量将会在下一次启动的时候生效,这是2000的局限。当访问REG_MULTI_SZ时,只能访问到第一个项目。目前setx只可以支持HKCU和HKLM两个hives。用Setx增加的值不可以用setx去掉,可以在控制面板里面改,也可以在注册表里面改,这种时候也可以用set把它置空。但是还是来几个例子吧!a.Command Line Setx MACHINE COMPAQ在用户环境中设置MICHINE为COMPAQ。setx MYPATH%PATH%设置MYPATH的值为当前PATH变量的值。setx MYPATHPATH设置MYPATH总是和PATH环境的值保持一致。b.Registry Setx TZONE-k HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformationStandardName设置TZONE的值为上面的键。比如:Central Standard TimeSetx BUILD-kHKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionCurrentBuildNumber设置BUILD的值为当前的Windows NT版本号,如:1314。c.File在进行这部分之前先运行ipconfig ipconfig.out,弄一个ipconfig的文本出来。然后就可以进行*作了Setx var-f ipconfig.out-x这个命令会显示这个文件的内容的坐标。如:C:SETX VAR-f ipconfig.out-x(1,0 Windows)(1,1 2000)(1,2 IP)(1,3 Configuration)(3,0 Ethernet)(3,1 adapter)(3,2 Local)(3,3 Area)(3,4 Connection(5,0 Connection-specific)(5,1 DNS)(5,2 Suffix)(5,3.)(5,4(6,0 IP)(6,1 Address.)(6,2.)(6,3.)(6,4.)(6,5.)(6,6.)(6,7.)(6,8.)(6,9.)(6,10.)(6,11.)(6,12.)(6,13(6,14 )(7,0 Subnet)(7,1 Mask)(7,2.)(7,3.)(7,4.)(7,5.)(7,6.)(7,7.)(7,8.)(7,9.)(7,10.)(7,11.)(7,12.)(7,13(7,14 )(8,0 Default)(8,1 Gateway)(8,2.)(8,3.)(8,4.)(8,5.)(8,6.)(8,7.)(8,8.)(8,9.)(8,10.)(8,11 setx ipaddr-f ipconfig.out-a 5,11这个命令会寻找绝对偏移为(5,11)的内容,然后设置ipaddr为这个值。如:C:setx ipaddr-f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论