BAT批处理判断目录在%Path%中实现方法
貌似没有很优美的做法,只能把%Path%按分号分割,然后一段一段地比较。
:InPath[In]Path[Out]0/1
SETLOCAL
SETLocalPathCopy=%PATH%
SETResult=0
:WHILE
IF"%LocalPathCopy"==""GOTOWEND
FOR/F"delims=;"%%IIN("%LocalPathCopy%")DO(
IF/I"%%~I"=="%~1"(
SETResult=1
GOTOWEND
)
)
FOR/F"delims=;tokens=1,*"%%IIN("%LocalPathCopy%")DO(
SETLocalPathCopy=%%~J
)
GOTOWHILE
:WEND
:InPathRet
ENDLOCAL&SET%2=%Result%&GOTO:EOF
使用方法:
SETx=C:\Windows Call:InPath%x%Result IF%Result%==0SETPath=%Path%;%x%