【发布时间】:2012-06-16 04:31:34
【问题描述】:
我正在尝试更新 win32 shell 脚本中的系统路径变量,但前提是值不存在。
我当前的版本如下所示:
for %%f in (xyz.exe) DO if [%%~$PATH:f]==[]; setx Path "%PATH%;%GRADLE_HOME%\bin" -m
我遇到的问题是
setx Path "%PATH%;%GRADLE_HOME%\bin"
这不起作用,但是如果我将引号更改为单引号
setx Path '%PATH%;%GRADLE_HOME%\bin'
它确实有效,但路径在第一次出现 Program Files 时结束。即 abc;def;程序
有什么办法可以克服吗?
【问题讨论】:
-
请注意,写入本地系统的 setx 变量不会立即可用(如果您重新启动 cmd,它们是可用的)
标签: windows windows-shell setx