BAT如何判断指定目录是否在%Path%中?
貌似没有很优美的做法,只能把%Path%按分号分割,然后一段一段地比较。
:InPath [In]Path [Out]0/1 SETLOCAL SET LocalPathCopy=%PATH% SET Result=0 :WHILE IF "%LocalPathCopy" == "" GOTO WEND FOR /F "delims=;" %%I IN ("%LocalPathCopy%") DO ( IF /I "%%~I" == "%~1" ( SET Result=1 GOTO WEND ) ) FOR /F "delims=; tokens=1,*" %%I IN ("%LocalPathCopy%") DO ( SET LocalPathCopy=%%~J ) GOTO WHILE :WEND :InPathRet ENDLOCAL & SET %2=%Result% & GOTO :EOF
使用方法:
SET x=C:\Windows Call :InPath %x% Result IF %Result% == 0 SET Path=%Path%;%x%
本文地址:http://www.45fan.com/a/question/13198.html