使用 Setx 在 PATH 用户变量中添加新目录不起作用



在.bat脚本中,我想在PATH用户变量中添加一个特定的目录列表。

最初,路径是这样的:

C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:WINDOWSSystem32OpenSSH;C:Program FilesNovelliPrint;C:Program FilesWindowsPowerShellScriptsHP.ClientScriptLibrary;C:WINDOWSSystem32WindowsPowerShellv1.0;C:Program Filesdotnet;C:Program Files (x86)Yarnbin;C:Program FilesDockerDockerresourcesbin;C:ProgramDataDockerDesktopversion-bin;C:UsersmyuserAppDataLocalMicrosoftWindowsApps;C:Program Files (x86)Graphviz2.38bin;

我使用这个命令:

setx WAC_PATH "c:mydir1;c:mydir2"
setx Path "%Path%;%%WAC_PATH%%"

我使用"%%"因为我想将我的新目录分组在一个变量(WAC_PATH(中,并将其直接用于PATH变量中

因此,WAC_PATH在用户环境变量中得到了正确定义。但是,PATH被更改了:许多初始配置的出现都是重复的,我有几次出现C:\WINDOWS和C:\WINDOWS/SYSTEM32

C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:WINDOWSSystem32OpenSSH;C:Program FilesNovelliPrint;C:Program FilesWindowsPowerShellScriptsHP.ClientScriptLibrary;C:WINDOWSSystem32WindowsPowerShellv1.0;C:Program Filesdotnet;C:Program Files (x86)Yarnbin;C:Program FilesDockerDockerresourcesbin;C:ProgramDataDockerDesktopversion-bin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:WINDOWSSystem32OpenSSH;C:Program FilesNovelliPrint;C:Program FilesWindowsPowerShellScriptsHP.ClientScriptLibrary;C:WINDOWSSystem32WindowsPowerShellv1.0;C:Program Filesdotnet;C:Program Files (x86)Yarnbin;C:Program FilesDockerDockerresourcesbin;C:ProgramDataDockerDesktopversion-bin;C:UsersmyuserAppDataLocalMicrosoftWindowsApps;C:Program Files (x86)Graphviz2.38bin;;C:WINDOWS;C:WINDOWSSystem32;C:WINDOWS;C:WINDOWSSystem32;C:WINDOWS;C:WINDOWSSystem32;C:WINDO

我认为变量WAC_PATH添加在PATH的末尾,但长度超过1024。

为什么所有这些值都是重复的(我应该在末尾只引用WAC_path的初始路径值(?

感谢Mofi,

我已经检查了你的链接清理路径,这对我来说没问题。

最新更新