2010-08-19 37 views
1

我有一个脚本,它在Windows XP中通过在注册表HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment下创建一个值来设置一个环境变量。当我在控制面板中查看env var GUI时显示变量,但如果在命令窗口中键入SET,则不会列出它。如果我尝试在命令窗口中回显它,它不会得到任何值。如何从脚本中正确设置环境变量,最好使用注册表?使用脚本设置Win XP环境变量

回答

1

在脚本中可以使用SET命令只设置一个变量:

SET my_var=42

但是,这不会改变/定义这个变量“全球”。只要关闭运行该脚本的命令行窗口,该变量就消失了。

因此,如果您想永久定义变量,则必须将注册表解决方案与SET命令结合使用。

+0

所以除了我在做什么在注册表中,我也有,打开命令行和使用SET设置我env var以及让它坚持下去? – anon 2010-08-19 15:31:09

+0

不,只需在脚本中使用SET命令(我假设我们讨论批处理脚本?) – 2010-08-19 15:36:22

+0

实际上它是一个InstallScript文件。我需要永久设置环境变量。 – anon 2010-08-19 15:46:11

1

其实,你可以使用DOS命令“SETX”永久设置变量(无需手动不必 - 或编程 - 破解注册表)。

我从来没有使用过“InstallScript”,但大多数安装程序产品(如InstallShield或InnoSetup)都有“set system variable”和“set user variable”命令,您可以在脚本中使用它们。

下面是关于Windows的“SETX”的MSDN参考命令: http://technet.microsoft.com/en-us/library/cc755104%28WS.10%29.aspx

+0

+1这对我来说在Win 7上工作,不确定它会在XP上 – qwerty 2012-12-06 09:14:51