欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

BAT批处理判断目录在%Path%中实现方法

程序员文章站 2022-06-17 13:32:11
貌似没有很优美的做法,只能把%path%按分号分割,然后一段一段地比较。 :inpath [in]path [out]0/1 setlocal set loc...

貌似没有很优美的做法,只能把%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%