我正在尝试为windows创建一个批处理(.bat)文件,以执行以下操作:
If (file.txt contains the string 'searchString') then (ECHO found it!)
ELSE(ECHO not found)到目前为止,我已经找到了一种使用查找命令在文件中搜索字符串的方法,该命令返回它查找字符串的文件中的行,但无法对其进行条件检查。
例如,这是行不通的。
IF FIND "searchString" file.txt ECHO found it!这一点也不是:
IF FIND "searchString" file.txt=='' ECHO not found对如何做到这一点有什么想法吗?
发布于 2013-08-15 14:17:54
从其他员额:
find /c "string" file >NUL
if %errorlevel% equ 1 goto notfound
echo found
goto done
:notfound
echo notfound
goto done
:done当您希望进行不区分大小写的检查时,请使用/i开关:
find /i /c "string" file >NUL或者类似的东西:如果找不到,写到文件。
find /c "%%P" file.txt || ( echo %%P >> newfile.txt )或者类似的东西:如果被发现,写到文件。
find /c "%%P" file.txt && ( echo %%P >> newfile.txt )或者类似于:
find /c "%%P" file.txt && ( echo found ) || ( echo not found )发布于 2014-03-25 02:09:42
我使用了一个DOS命令行来完成这个任务。实际上是两行。第一个使“当前目录”成为文件所在的文件夹-或者文件所在的一组文件夹的根文件夹。第二行是搜索。
CD C:\TheFolder
C:\TheFolder>FINDSTR /L /S /I /N /C:"TheString" *.PRG您可以在此链接上找到有关参数的详细信息。
希望能帮上忙!
https://stackoverflow.com/questions/5626879
复制相似问题