Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


SANIOK_AV, несколько раз начинал писать большую петицию, написание растягивалось, браузер падал, машина зависала… Стало быть, не судьба, отпишусь нынче коротко.

Цитата SANIOK_AV:
Iska, то есть для
Код: Выделить весь код
call
exitCode со значением "1" означает "завершение с ошибкой"? И как вообще узнать эти значения для других команд?»
Не совсем так.

Исторически было принято считать нулевой код возврата дочернего процесса его корректным завершением, а ненулевые коды возврата — использовать для уведомления родительского процесса дочерним процессом о той или иной ошибке в своей работе.

Тут, опять же, есть проблема — что именно считать ошибкой? Скажем, некоторые приложение вовсе не устанавливают код возврата, иные же, например, «choice.exe» — используют код возврата для уведомления родительского процесса о сделанном пользователем выборе, а не об ошибке.

Так что, является ли ненулевой код возврата ошибкой или не является — заранее сказать ничего нельзя, нужно знать конкретное приложение, о котором ведётся речь.

Возвращаясь к «call», скажу, что всё изложенное выше справедливо и для пакетных файлов — как Вы сочтёте нужным считать, так и будет.

Информацию о кодах возврата конкретных приложений стоит узнавать непосредственно из их документации (причём, от версии к версии информация может отличаться). Касаемо внутренних и внешних команд операционной системы документацию можно взять в «%SystemRoot%\Help\ntcmds.chm» — для XP, в Windows Command Reference — для более старших версий и, наконец, в MSDN/TechNet/KB непосредственно на сайте Microsoft.

Отправлено: 06:14, 06-12-2011 | #8