YuS_2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору wolf0425 Цитата: так это ни разу не проблемы с errorlevel, а с кривыми руками программиста, переопределяющего системную переменную. что нештатная ситуация по разному обрабатывается для bat и cmd - это вообще не проблема. | Да там вообще проблемы нет, это просто пример неправильного сброса кода возврата... взято отсюда. А вот то, что по-разному обрабатывается bat и cmd, как раз - проблема. Или есть какие-то объективные причины такой разной обработки? Описания такого поведения нигде не нашел, в свое время. GCRaistlin Цитата: Северный пушной зверек-то не в cmd, а как раз в bat - похоже, в нем команда set при успехе не изменяет errorlevel. Но к обработке errorlevel как таковой это отношения не имеет. | Имхо, тот самый пушной зверек, всё таки в cmd, ибо именно в нем перекрывающая переменная изменяет код возврата, чего быть не должно. Там ведь очищается та самая переменная и %errorlevel% уже должен показать реальное текущее значение кода возврата. Хотя, могу и ошибаться, не настаиваю на такой именно трактовке. Если логически порассуждать, то команда Set тоже меняет код возврата и при успехе он, действительно, должен стать нулевым. Тут ведь и запутаться легко, в описании нигде не встречается, а в умных источниках, по ссылкам из шапки (на rsdn), пишут, что значение должно быть ненулевым... | Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 22:58 25-08-2014 | Исправлено: YuS_2, 23:04 25-08-2014 |
|