如何检查PATH环境变量中是否已存在目录?这是一个开始.但是,我已经设法使用下面的代码,它回显了%PATH%中的第一个目录.由于这是一个FOR循环,你会认为它将枚举%PATH%中的所有目录,但它只获得第一个目录.
有没有更好的方法呢?像%PATH%变量上运行的find或findstr之类的东西?我只想检查%PATH%目录列表中是否存在目录,以避免添加可能已存在的内容.
FOR /F "delims=;" %%P IN ("%PATH%") DO (
@ECHO %%~P
)
Run Code Online (Sandbox Code Playgroud) 我想在Windows CMD提示符中运行一个简单的单行程序来打印我的%PATH%
变量,每行一个条目.
我试过这个:for /f "delims=;" %a in ("%path%") do echo %a
但这只打印第一个条目:
Z:\>for /f "delims=;" %a in ("%path%") do echo %a
Z:\>echo c:\python25\.
c:\python25\.
Run Code Online (Sandbox Code Playgroud)
另外从上面的输出中可以看出,这也是打印echo %a
命令和输出.有没有办法阻止这个?
如果我尝试一个类似的命令,我会得到所有条目,但仍然得到echo %a
输出垃圾邮件的结果.我不明白为什么以下打印所有条目,但我的尝试%PATH%
没有.我怀疑我不懂/F
开关.
Z:\>for %a in (1 2 3) do echo %a
Z:\>echo 1
1
Z:\>echo 2
2
Z:\>echo 3
3
Run Code Online (Sandbox Code Playgroud) 如何使用 PowerShell 判断指定文件夹是否在我的 PATH 中?
像这样的函数会很棒:
function FolderIsInPATH($Path_to_directory) {
# If the directory is in PATH, return true, otherwise false
}
Run Code Online (Sandbox Code Playgroud)