2015-06-23 628 views
3

我需要編寫一個批處理文件來檢查變量是否包含特定值。 我試着做到以下幾點:bat文件腳本來檢查字符串是否包含其他字符串

If "%%a"=="%%a:%pattern%" (
    echo Yes 
) else (
    echo No 
) 

輸入例如: %% A = 「鮑勃binson」 %百通(%)= 「binson」

我永遠不會是印刷! 任何人都可以請告訴我錯過了什麼,或者舉例說明他會怎麼做?

由於提前

回答

1

子字符串操作都沒有for替換參數可用。您需要將數據分配給一個變量,然後對該變量執行操作

@echo off 
    setlocal enableextensions disabledelayedexpansion 

    >"tempFile" (
     echo bob binson 
     echo ted jones 
     echo binson 
    ) 

    set "pattern=binson" 

    for /f "usebackq delims=" %%a in ("tempFile") do (
     echo data: %%a 

     set "line=%%a" 
     setlocal enabledelayedexpansion 
     if "!line:%pattern%=!"=="!line!" (
      echo .... pattern not found 
     ) else (
      echo .... pattern found 
     ) 
     endlocal 
    ) 

    del /q tempFile 
+0

非常感謝你:) –

相關問題