我在 StackExchange 上发现了很多类似这样的问题,但没有一个适合我的具体情况。
我想轻松地将 %FOO% 添加到用户环境变量 PATH 中。
我找到了以下解决方案。不幸的是,它没有按预期工作。
for /f "skip=2 tokens=3*" %a in ('reg query HKCU\Environment /v PATH') do @if [%b]==[] ( @setx PATH "%~a;%FOO%" ) else ( @setx PATH "%~a %~b;%FOO%" )
如果出现以下情况则不起作用:
- 用户 PATH 变量不存在
- 用户 PATH 存在且为空
- 用户 PATH 长度几乎为 255 个字符。
此外,它并不是逐字添加 %FOO%,而是对其进行扩展。
是否有可能轻松做到这一点?
答案1
这取决于您要做什么:
- 要仅更新当前命令行会话中的 PATH,请使用:
set PATH=%PATH%;%FOO%
。 - 要仅为当前用户编辑它,请使用:
setx PATH "%PATH%;%FOO%"
。请注意,此更改在您的当前的命令行会话;您需要启动一个新的命令行。 - 要为机器上的所有用户编辑它,请使用:
setx /M PATH "%PATH%;%FOO%"
。
ECHO %PATH%
您可以通过在命令行中输入或通过在 Windows 环境设置中检查。
此外,在 Windows 7 和 8 中,最大环境变量字符串大小是 32,767 个字符。虽然这对于 PATH 变量也有效,但命令控制台中的命令的最大长度为 8191 个字符,因此在命令行命令中使用 PATH 变量时需要考虑这一点。无论如何,除了现在的 256 个字符之外,您还有更多的空间。