CMD 命令:
setx SOMEVARIABLE "newpath" /M
setx SOMEVARIABLE "%SOMEVARIABLE%;newpath2" /M
预期输出 ECHO %SOMEVARIABLE%
:
newpath;newpath2
实际产量:
%SOMEVARIABLE%
存储的实际值(来自系统属性->环境变量 GUI):
%SOMEVARIABLE%;newpath2
我获得预期输出的唯一方法是,每次修改环境变量时重新启动命令提示符。我使用此命令在同一过程中多次自动附加环境变量值。
- 为什么不重新启动cmd 中环境变量就不会更新?
- 是否可以在不重新启动命令提示符的情况下获取 %SOMEVARIABLE% 的更新值?
答案1
问题是setx
修改全球环境,而不是本地环境。因此,您必须重新启动命令提示符才能使更改生效。
您有两个选择:
- 使用修改全局环境的其他工具和当地环境
创建一个执行这两项操作的批处理文件并使用该文件:
::setenv.bat @echo off set %1=%2 setx %1 %2 %3