DOS: найдите строку, если найдено затем запущенную другой скрипт

Я хочу найти строку в файле с помощью DOS:

Например,

найдите "строку" status.txt

И когда это найдено, я хочу выполнить пакетный файл.

Что лучший способ состоит в том, чтобы сделать это?

19
задан Eric Leschinski 8 August 2013 в 21:07
поделиться

2 ответа

Давненько я ничего не делал с пакетными файлами, но мне кажется, что следующее работает:

find /c "string" file
if %errorlevel% equ 1 goto notfound
echo found
goto done
:notfound
echo notfound
goto done
:done

Это действительно доказательство концепции; очистите, как вам удобно. Ключ в том, что find возвращает уровень ошибки из 1, если строка отсутствует в файле . В данном случае мы ответвляемся на notfound, в противном случае мы работаем со случаем found.

.
28
ответ дан 30 November 2019 в 02:20
поделиться
C:\test>find /c "string" file | find ": 0" 1>nul && echo "execute command here"
10
ответ дан 30 November 2019 в 02:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: