Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Проверка на выполнения команд в bat ? (http://forum.oszone.net/showthread.php?t=194669)

men232 21-12-2010 21:38 1571596

Проверка на выполнения команд в bat ?
 
Привет есть такой код:
Код:

curl -f -# -o %name% %url%
Так вот во время выполнения этого кода (То есть скачивание файла может произойти разрыв)
Как мне проверять выполнилась эта команда окончательно ?

amel27 11-01-2011 11:55 1585989

проверить переменную ERRORLEVEL или так:
Код:

curl -f -# -o %name% %url% && (Echo OK& Rem.) || Echo ERROR

Iska 11-01-2011 21:17 1586411

amel27, не понятно это:
Цитата:

Код:

…& Rem. …

Поясните, пожалуйста.

amel27 12-01-2011 04:33 1586608

Цитата:

Цитата Iska
не понятно это »

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

Iska 12-01-2011 22:23 1587278

Цитата:

Цитата amel27
…в зависимости от текущего ERRORLEVEL (на момент выполнения заданной команды), …»

Спасибо. Теперь ясно.


Время: 21:11.

Время: 21:11.
© OSzone.net 2001-