以下のバッチファイルは、srch文字列内のクエリ間にスペースを使用しないと完璧に動作します。スペースを追加すると、プログラムが飛び出して終了します。Findstrは変数入力のスペースが嫌いです。
@echo off
mode con:cols=90 lines=40
:top
echo *******PHONE BOOK******
echo Press Q to quit
echo.
set /P srch=Enter Search query:
IF /i %srch% EQU Q goto :end
findstr /i %srch% %USERPROFILE%\documents\names.txt
IF %ERRORLEVEL% EQU 1 goto :e1
pause
cls
goto top
pause
:end
set /p wate=Press any key to Quit
exit
:e1
echo No match found edit names.txt in your documents folder.
pause
cls
goto top
exit
PhoneQuery.bat
として保存以下の保存ドキュメントフォルダ内の "names.txt" など。
Name Address Local Phone#
Bob Billings 123 here ST St Paul MI 800-555-5555
Information nil any 411
Fire Dept Multi Dubai +1-992-611-1212
'ます。findstr/i "の%SRCH%の" %USERPROFILE %\ documents \ names.txt' – Squashman
ヘルプファイルはいくつかの素晴らしい例を示しています:**複数の検索文字列を区切るのに空白を使用しますntの先頭には/ Cが付きます。たとえば、 'FINDSTR "hello there" x.y'はx.yファイル内に "hello"または "there"を検索します。 'FINDSTR/C: "hello there" x.y'はx.yファイル内の "hello there"を検索します** – Squashman