问题:无论我运行脚本多少次,在批处理脚本中只添加一次的简单,可靠的方法是什么?< / p>
我需要永久地在路径中添加一个文件夹。但我只想添加一次,即使我多次运行脚本。
尝试:我很乐意将文件夹添加到环境和注册表中的路径中:
SETX /m PATH "%PATH%;%MyFolder%"
SET PATH=PATH;%MyFolder%
但是我需要保证每次运行时不继续将相同的文件夹添加到路径变量中。我的第一个想法是比较字符串以检查它是否已包含文件夹但我需要语法帮助:
REM If the PATH folder does not contain the folder already
IF NOT %MyFolder%==%PATH% (
REM Add the folder to the path
)
或者有更好的方法吗?
答案 0 :(得分:0)
这是一个简单的例程,仅检查是否已列出完全路径,如果找不到,则将其添加到PATH。
@echo off
call :AppendMachinePATH "%MyFolder%"
exit /b 0
:AppendMachinePATH <Path to Add>
for %%A in ("%PATH:;=" "%") do if /i "%%~A"=="%~1" exit /b 1
setx /m PATH "%PATH%;%MyFolder%"
set "PATH=%PATH%;%MyFolder%"
exit /b 0
(从内存中写入,未经测试)