在 .bat 脚本中,我想在 PATH 用户变量中添加一个特定的目录列表。
最初,路径是这样的:
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Novell\iPrint;C:\Program Files\WindowsPowerShell\Scripts\HP.ClientScriptLibrary;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\dotnet\;C:\Program Files (x86)\Yarn\bin\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Users\myuser\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Graphviz2.38\bin;
我使用这个命令:
setx WAC_PATH "c:\mydir1;c:\mydir2"
setx Path "%Path%;%%WAC_PATH%%"
我使用“%%”是因为我想将我的新目录分组到一个变量 (WAC_PATH) 中并将其直接用于 PATH 变量。
结果,WAC_PATH 在用户环境变量中正确定义。但是,PATH 已更改:许多初始配置重复,我有几个 C:\WINDOWS 和 C:\WINDOWS/SYSTEM32
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Novell\iPrint;C:\Program Files\WindowsPowerShell\Scripts\HP.ClientScriptLibrary;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\dotnet\;C:\Program Files (x86)\Yarn\bin\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Novell\iPrint;C:\Program Files\WindowsPowerShell\Scripts\HP.ClientScriptLibrary;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\dotnet\;C:\Program Files (x86)\Yarn\bin\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Users\myuser\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Graphviz2.38\bin;;C:\WINDOWS;C:\WINDOWS\System32;C:\WINDOWS;C:\WINDOWS\System32;C:\WINDOWS;C:\WINDOWS\System32;C:\WINDO
我认为变量 WAC_PATH 添加在 PATH 的末尾,但长度超过 1024。
为什么所有这些值都是重复的(我应该有初始路径值,最后只引用 WAC_PATH)?