我有一个批处理文件,它通过在前面加上几个地址来修改 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%
关于Windows CMD - 从批处理文件中重置路径变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7086965/