此文件完美地工作。
你需要找到你的文字的命令行是
yourbatch yourtextfile.txt "I have breakfast"
如果执行
yourbatch yourtextfile.txt I have breakfast
则因为空间是一个分隔符,将只搜索I
,为了寻找一个空格分隔的字符串,您需要"
报价字符串"
同样,就此而言,w如果文件名包含空格,则使用文件名。
yourbatch "your text file.txt" "I have breakfast"
%%1 is "your text file.txt"
%%2 is "I have breakfast"
包括引号。
要删除引号,如果你想,你会使用%〜2
所以 - 你可以ECHO
ECHO with quotes:%2 and without: %~2
ALSO:小心
If %ERRORLEVEL% EQU 0 echo text %2 is Present
If %ERRORLEVEL% EQU 1 echo text %2 is not Present
ECHO
是少数不改变errorlevel
的命令之一。很多人改变它,所以例如,如果你写
如果%ERRORLEVEL%EQU 0回声Y |找到 “X”> NUL 如果%ERRORLEVEL%EQU 1个回声文本%2不存在
那么如果发现echo Y|find "x" >nul
是因为上一步中的errorlevel
为0,那么因为echo Y|find "x" >nul
将errorlevel设置为1,第二行也将被执行。
这是伟大的!也感谢细节。 – tamo 2013-04-07 12:55:23