基本上,我知道我可以浏览控制面板并修改路径变量。但是,我想知道是否有办法通过批量编程包含一个临时路径?这样它只在批处理文件执行期间使用。我不想让人们进入并修改他们的路径变量只是为了使用我的批处理文件。
答案 0 :(得分:263)
与任何其他环境变量一样,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
的文档,并查看该网站上的其他参考文献 - Functions也非常有趣,语法也很棘手。
Syntax页面应该可以帮助您开始使用基础知识。
答案 1 :(得分:16)
这是正确的,但它不会永久地改变它,但只是为了当前的命令提示符,如果你想永久地改变它,你必须使用例如:
setx ENV_VAR_NAME "DESIRED_PATH" /m
这将永久更改它,是的,您可以通过另一个批处理脚本覆盖它。
答案 2 :(得分:14)
有一个重要的细节:
set PATH="C:\linutils;C:\wingit\bin;%PATH%"
不起作用,而
set PATH=C:\linutils;C:\wingit\bin;%PATH%
的工作原理。不同的是报价!