我有一个脚本,通过在HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment下的注册表中创建一个值来在Windows XP中设置环境变量。当我在控制面板下查看env var GUI时,变量显示,但如果我在命令窗口中键入SET,则不会列出。如果我尝试在命令窗口中回显它,它不会获得任何值。如何从脚本中正确设置环境变量,最好使用注册表?
答案 0 :(得分:1)
在脚本中,您只能使用SET命令设置变量:
SET my_var=42
但是这不会改变/定义这个变量“全局”。一旦关闭运行该脚本的命令行窗口,变量就会消失。
因此,如果要永久定义变量,则必须将注册表解决方案与SET命令结合使用。
答案 1 :(得分:1)
实际上,您可以使用DOS命令“setx”永久设置变量(无需手动 - 或以编程方式 - 破解注册表)。
我从未使用过“InstallScript”本身,但大多数安装程序产品(如InstallShield或InnoSetup)都有“设置系统变量”和“设置用户变量”命令,您也可以在脚本中使用这些命令。
这是Windows“setx”命令的MSDN参考: http://technet.microsoft.com/en-us/library/cc755104%28WS.10%29.aspx
答案 2 :(得分:0)