Показать полную графическую версию : Проверка на выполнения команд в bat ?
Привет есть такой код:
curl -f -# -o %name% %url%
Так вот во время выполнения этого кода (То есть скачивание файла может произойти разрыв)
Как мне проверять выполнилась эта команда окончательно ?
проверить переменную ERRORLEVEL или так:
curl -f -# -o %name% %url% && (Echo OK& Rem.) || Echo ERROR
amel27, не понятно это:
…& Rem. …
Поясните, пожалуйста.
не понятно это »
REM. - простейшая команда, сбрасывающая ERRORLEVEL в 0. Это на случай, если вместо "Echo OK" стоит последовательность произвольных команд, которые могут изменить значение ERRORLEVEL. Чтобы было понято, достаточно сравнить результат кода с REM. и без него:
@Set $1=1 && (
Echo OK
Set "$2="
REM.) || (
Echo ERROR
)
Суть в том, что в последовательности команд, разделенной && , || батник пытается последовательно выполнить КАЖДУЮ, в зависимости от текущего ERRORLEVEL (на момент выполнения заданной команды), поэтому нужно либо отслеживать результат каждой команды, либо тупо восстанавливать ERRORLEVEL по выходу из блока.
P.S. команда Set "$2=" вызывает ошибку удаления несуществующей переменной, устанавливая ERRORLEVEL=1
…в зависимости от текущего ERRORLEVEL (на момент выполнения заданной команды), …»
Спасибо. Теперь ясно.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.