Задать вопрос
ae_ph
@ae_ph
I'm a owl )

Как правильно написать условие в bat файле?

У меня идёт выполнение bat файла.
Если происходит ошибка при выполнении я перекидываю его на метку error.
ping -invalid-arg || goto error
А как сделать условие: если нет в этот момент ошибки перекинуть на метку next?

т.е. мне нужно решение
если файл выдаёт ошибку при выполнении перекидываем на метку error.
если файл не выдаёт ошибку либо перекидываем на метку next или ещё проще продолжаем выполнение.
Основная задача отловить ошибку и скинуть её на метку, для дальнейшей работы файла.
  • Вопрос задан
  • 505 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
ae_ph
@ae_ph Автор вопроса
I'm a owl )
Я нашёл решение!
Проверяем наличие ошибок если они есть, тогда отработает ERRORLEVEL 1 если нет ERRORLEVEL 0.
Соответственно присвоим для каждого из них разные метки.
if ERRORLEVEL 1 goto answer1
if ERRORLEVEL 0 goto answer0
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
dollar
@dollar
Делай добро и бросай его в воду.
Дописать следующей строкой.
ping -invalid-arg || goto error
goto next
Ответ написан
wisgest
@wisgest
Не ИТ-специалист
ping -invalid-arg && goto GOOD || goto BAD
И к тому же для некоторых внутренних команд это единственный способ, так как они не устанавливают ERRORLEVEL, но успешность их выполнения проверяема с помощью &&/||.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы