У меня идёт выполнение bat файла.
Если происходит ошибка при выполнении я перекидываю его на метку error. ping -invalid-arg || goto error
А как сделать условие: если нет в этот момент ошибки перекинуть на метку next?
т.е. мне нужно решение
если файл выдаёт ошибку при выполнении перекидываем на метку error.
если файл не выдаёт ошибку либо перекидываем на метку next или ещё проще продолжаем выполнение.
Основная задача отловить ошибку и скинуть её на метку, для дальнейшей работы файла.
Я нашёл решение!
Проверяем наличие ошибок если они есть, тогда отработает ERRORLEVEL 1 если нет ERRORLEVEL 0.
Соответственно присвоим для каждого из них разные метки.
if ERRORLEVEL 1 goto answer1
if ERRORLEVEL 0 goto answer0
Автор, среди ИТ-шников не принято использовать выражение "не работает", потому что оно не исключает никакие варианты. Его можно сказать, только если вы хотите закрыть вопрос и не возвращаться к нему.
ping -invalid-arg && goto GOOD || goto BAD
И к тому же для некоторых внутренних команд это единственный способ, так как они не устанавливают ERRORLEVEL, но успешность их выполнения проверяема с помощью &&/||.