批處理中如何判斷參數中含有某些字符串?
一般情況判斷完全匹配的時候用==
復制代碼 代碼如下:
@echo off
if "%1"=="abc" @echo OK
但是部分匹配怎么寫呢?比如判斷參數中前三個字符是"abc"時
復制代碼 代碼如下:
@echo off
echo %1|findstr "^abc" >nul
echo %errorlevel%
測試結果如下:
C:\&;test xixi
1
C:\&;test
1
C:\&;test abcd
0
C:\&;test xabcd
1
非常感謝,但是這樣怎么實現if else的效果呢?
比如
if "%1"含有"abc" @echo OK
if "%1"含有"def" @echo NG
復制代碼 代碼如下:
@echo off
echo %1|findstr "^abc" >nul
if %errorlevel% equ 0 (
echo ok
) else (
echo not ok
)