关于bat添加系统环境变量的命令。假如我想把 OS :Csystem32添加到系统变量前提是要通过bat添加拜托各位

关于bat添加系统环境变量的命令。假如我想把 OS :Csystem32添加到系统变量前提是要通过bat添加拜托各位,第1张

1. .bat文件中获取bat文件所在目录的参数为 %~dp0 %~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录 cd是转到这个目录,不过我觉得cd /d %~dp0还好些 选项语法: ~0 -删除任何引号("),扩充%0 %~f0 -将%0扩充到一个完全合格的路径名(“f”是file,即文件) %~d0 -仅将%0扩充到一个驱动器号 %~p0 -仅将%0扩充到一个路径 %~n0 -仅将%0扩充到一个文件名(“n”是name文件名) %~x0 -仅将%0扩充到信袜一个文件扩展名 %~s0 -扩充的路径只含有短名(“s”为Short,短的) %~a0 -将%0扩充到滑如激文件的文件属性(“a”为attribute,即属性) %~t0 -将%0扩充到文件的日期/时间(“t”time) %~z0 -将%0扩充到文件的大小(Size大小) %~$PATH:0 -查找列在路径环境变量的目录,并将%0扩充 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩充到 空字符串 可以组合修橡稿饰符来得到多重结果: %~dp0 -仅将%0扩充到一个驱动器号和路径 %~nx0 -仅将%0扩充到一个文件名和扩展名 %~fs0 -仅将%0扩充到一个带有短名的完整路径名 %~dp$PATH:0 -查找列在路径环境变量的目录,并将%I扩充 到找到的第一个驱动器号和路径。 %~ftza0 -将%0扩充到类似输出线路的DIR %0为当前批处理文件 如果0换成1为第一个文件,2为第2个 **************************************************** %0代指批处理文件自身 %~d0是指批处理所在的盘符 %~dp0是盘符加路径 cd %~dp0就是进入批处理所在目录 2.添加永久环境变量 用reg add 向HKLM\system\controlset001\control\session manager\environment添加变量即可 如:添加添加值为hedalixin变量NAME reg add "HKLM\system\controlset\control\session manager\environment" /v NAME /t REG_SZ /d hedalixin

代码如下:

::══代码开始══决不要复制此行═════

@echo off&setlocal enabledelayedexpansion

more +9 <%0 >>temp.txt

for /f "delims== tokens=1,2" %%a in (temp.txt) do (

set IsNull=false

for /f "skip=4" %%c in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\"') do (

echo %%a|find /i "%%c"&&set IsNull=true)

if not !IsNull!==true (

reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v %%a /t REG_SZ /d %%b /f))

del temp.txt /q/f &pause&exit

UGII_BASE_DIR=E:\UG6.0

UGII_LANG=simpl_chinese

UGII_ROOT_DIR=E:\UG6.0\UGII\

UGS_LICENSE_SERVER=28000@chongtian

::══代码结束═决不能复制此行敏虚══════

使用说明:

1、因为涉及导出文本,请不要复制提示不能复制的代码,保证“@echo off&setlocal enabledelayedexpansion”这句话处在批处理文件的第一行,代码末尾也不要添旅或加任何东西,保证“UGS_LICENSE_SERVER=28000@chongtian”处于最后一行。

2、请直复制我给的代码拆拿伍使用,不能删减,否则会失效。

在bat中设简早猛置的变量,是局部变量,只在这个bat中有用,只在所在睁辩的cmd窗口中有用,在其他的cmd中可以调用系统变量,而不能调用其他cmd(bat)窗口的局部变量,即便那个cmd窗口还没有关闭。

如果想在bat里设置变量,并添加到系统变量中,可以修改注册表,方便的话可通过第三方程序,如 setx.exe

setx 的一点信息:

这个命拦桥令行工具提供了一种批量修改环境变量的方法,同时不需要使用任何编程方法或者是脚本。此外,除了可以获得变量和值之外还可以跟注册表的值挂上关系。在2000中除了setx.exe之外,其他没有任何一种命令行工具可以直接设置系统变量值。只有通过控制面板和注册表编辑器才能够设置。如果有人说可以用set命令的话, 实际上这个CMD的内部命令只能够设置当前控制台窗口的用户环境变量。 setx允许你通过Command Line Mode,Registry Mode,File Mode,这三种模式来设置环境变量。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11979778.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存