我需要做什么:
- 将文件夹追加到
%PATH%
SYSTEM级别的环境变量。 - 使更改永久生效。
我需要怎么做:
- 使用命令提示符或另一种可以将所有必要命令写入
.BAT
文件的方法。 - 仅使用裸机安装的Windows XP SP3上可用的工具,而无需Internet连接。
- 我宁愿在本地运行脚本,但我也可以远程访问目标系统。但是请记住,我不能假定系统上启用了任何非默认服务(即:Remote Registry)。
脚本需要处理的系统:
- Windows XP SP3
- Windows Server 2003 SP2
- Windows 7 SP1
- Windows Server 2008 R2 SP1
我对该SET
命令相当熟悉,但是我也知道它通常会覆盖现有变量,而不是附加到该变量。那是不可接受的。是否有另一个工具(或SET
我不知道的选项)将附加到变量中?或者,我是否需要在脚本中添加变通办法,包括将现有变量临时复制到另一个变量或文本文件中?
另外,据我了解,SET
不会永久更改该变量。我已经提到过SETX
,但是Windows XP SP3似乎没有内置该功能(或者,至少它似乎在我正在使用的系统上不可用)。还有另一种方法可以通过注册表编辑或其他方式使更改永久生效?
我已经四处看看,并且从这里学到了很多有关在Windows中设置环境变量的知识。但是,我还没有找到完全适合我需求的重复问题。如果有一个,请告诉我。
Setx不随XP一起提供。它在一个或多个资源工具包中,但我忘记了哪一个。要在命令行上永久更改环境变量,绝对是最简单的方法。您可以在注册表中进行更改(HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment),但从命令行更改注册表也不是一件容易的事。如果我是你,那么我会写一个VBScript来做到这一点。
—
EBGreen '02
@EBGreen我对使用
—
Iszi 2012年
REG
注册表更改有点熟悉。如果您想将其发布为答案,并提供有关如何保留现有路径的建议,我至少会给它一个赞成票。
我认为,按照EBGreen的建议,我已经弄清楚了我该怎么做。现在我只希望有一种方法可以强制注册表刷新(并推送到环境变量),而无需重新启动或重新加载资源管理器?
—
Iszi 2012年
@EBGreen是的,就是这样。顺便说一句,如果您有时间弄清楚语法,您可以发表一个实际的答案吗?我希望这不会成为一个自我解答的问题。
—
Iszi 2012年
@lszi,您应该回答自己的问题。即使您自己回答一个问题,一个好的答案也很有价值。
—
Myrddin Emrys'2