Чтобы узнать, содержит ли lla.txt
хотя бы 3
строки, замените j
на 3
и используйте этот тип структуры:
@Echo Off
(
FindStr /N "^" "lla.txt" | FindStr "^j:" > Nul
) && (
Echo Line Found
) || (
Echo Line Not Found
)
Pause
При этом используется условное выполнение, при котором:
&&
по существу означает, что предыдущая команда / блок были успешными.
(возвращено 0
%ErrorLevel%
)
||
по существу означает, что предыдущая команда / блок были неудачными.
(возвращено не 0
%ErrorLevel%
)
Если lla.txt
не может быть найден, первый FindStr
выдаст ошибку и выполнит команды в ваших Line Not Found
скобках.
Если это то, что вы хотите, вы можете подавить сообщение об ошибке с помощьюотправка вывода STDERR
на устройство NUL
следующим образом:
@Echo Off
(
FindStr /N "^" "lla.txt" 2> Nul | FindStr "^j:" > Nul
) && (
Echo Found
) || (
Echo Line Not Found
)
Pause
Если вы хотите сделать что-то другое в этих случаях, вы должны сначала проверить существование исходных файлов:
Этоиспользуется структура If
/ Else
:
@Echo Off
If Exist "lla.txt" (
(
FindStr /N "^" "lla.txt" | FindStr "^j:" > Nul
) && (
Echo Found
) || (
Echo DoElse
)
) Else (
Echo No source file
)
Pause
Используется If
, Echo
es для сообщения 3
секунд и Exit
с
@Echo Off
If Not Exist "lla.txt" (
Echo No source file
Timeout /T 3 > Nul
Exit /B
)
(
FindStr /N "^" "lla.txt" | FindStr "^j:" > Nul
) && (
Echo Line Found
) || (
Echo Line Not Found
)
Pause