我有一个批处理文件,通过预先添加几个地址来修改PATH变量.当用户关闭然后登录时,PATH将重置为其原始值(在批处理文件运行之前).这种行为没问题.
但是,如果批处理文件多次运行,则会重新添加相同的值,并且我最终会得到一个过长的冗余PATH变量,该变量在每次批处理运行后变得更长.
您可以将其写入另一个环境变量,而不是将原始值写入临时文件:
if not defined ORIGINAL-PATH set ORIGINAL-PATH=%PATH% set PATH=c:\extra\stuff;%ORIGINAL-PATH%
但最好明确检查你想要的字符串是否已经在PATH中,如下所示:
echo %PATH% | findstr /c:"c:\extra\stuff;" > nul || set PATH=c:\extra\stuff;%PATH%