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%