Ответ 1
Смотрите этот пост.
Принятое решение кажется правильным для вас тоже.
Я пытаюсь создать пакетный (.bat) файл для Windows XP, чтобы сделать следующее:
If (file.txt contains the string 'searchString') then (ECHO found it!)
ELSE(ECHO not found)
До сих пор я нашел способ поиска строк внутри файла с помощью команды FIND, которая возвращает строку в файле, где она находит строку, но я не могу выполнить условную проверку на нем.
Например, это не работает.
IF FIND "searchString" file.txt ECHO found it!
И это не делает:
IF FIND "searchString" file.txt=='' ECHO not found
Любые идеи о том, как это можно сделать?
Смотрите этот пост.
Принятое решение кажется правильным для вас тоже.
Из другого сообщения:
find /c "string" file
if %errorlevel% equ 1 goto notfound
echo found
goto done
:notfound
echo notfound
goto done
:done
Или что-то вроде: если не найдено запись в файл.
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 )
Для этого я использовал командную строку DOS. На самом деле две линии. Первый, чтобы сделать "текущую директорию" папку, в которой находится файл, или корневую папку группы папок, в которой находится файл. Вторая строка выполняет поиск.
CD C:\TheFolder
C:\TheFolder>FINDSTR /L /S /I /N /C:"TheString" *.PRG
Подробные сведения о параметрах можно найти в этой ссылке.
Надеюсь, что это поможет!