基本上,我知道我可以通过控制面板修改路径变量。但是,我想知道是否有一种方法可以通过批处理编程包含一个临时路径?这样它只在批处理文件执行期间使用。我不想让人们为了使用我的批处理文件而修改路径变量。
就像任何其他环境变量一样,使用SET:
SET PATH=%PATH%;c:\whatever\else
如果你想先做一些安全检查,先检查新路径是否存在:
IF EXIST c:\whatever\else SET PATH=%PATH%;c:\whatever\else
如果你想让它在批处理文件的本地,使用setlocal:
setlocal
set PATH=...
set OTHERTHING=...
@REM Rest of your script
仔细阅读setlocal/endlocal的文档,并查看该网站上的其他引用-函数也非常有趣,语法也很棘手。
语法页面应该让您从基础开始。
没错,但它不会永久地改变它,而只是用于当前的命令提示符。
如果你想永久地改变它,你必须使用例如:
setx ENV_VAR_NAME "DESIRED_PATH" /m
这将永久地改变它,是的,你可以在另一个批处理脚本中覆盖它。
这里有一个重要的细节:
set PATH="C:\linutils;C:\wingit\bin;%PATH%"
不工作,而
set PATH=C:\linutils;C:\wingit\bin;%PATH%
的工作原理。区别就在于引文!
UPD也看到venimus的评论