bat批处理添加环境变量

bat批处理添加环境变量,第1张

代码如下:

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

@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、请直复制我给的代码使用,不能删减,否则会失效。

定义变量   :   set  name = “yingying”         ----  等号左边不允许有空格,等号右边的所有包括空格会全部赋值给变量。

调用变量 :   %name%     ----用%将要调用的变量包起来就可以调用此变量

%%name表示name为 for 里面的 循环变量

!name!表示 延迟变量(在复合语句中用到,挖坑)

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

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

setx 的一点信息:

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


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

原文地址:https://54852.com/bake/11426318.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存