![]() |
*CMD/BAT* | Условное выполнение в батнике
тов.умные люди, скажите плз, как сделать следующее (Windows):
нужно при удачном выполнении комманды @isql -Usa -P1234 -n -Q"exec do_something 100, 200" напечатать в лог echo %date% %time% done something >> %varlog%\sql-activity.log при неудачном - ничего не печатать. Или это слишком сложно (т.е. прогу проще написать)? |
pva
А разве в батниках нет чтото типа GOTO или я путаю?? |
См. errorlevel
Формат: IF [NOT] ERRORLEVEL число команда Где: ERRORLEVEL - число Условие является истинным, если код возврата последней выполненной программы не меньше указанного числа. Теоретически, Ваше @isql -Usa -P1234 -n -Q"exec do_something 100, 200" при неудачном завершении должно выставить ERRORLEVEL отличное от нуля (ноль - как правило - нормальное завершение программ, так принято). Но даже если ERRORLEVEL не будет установлен, можно будет поймать ошибку путём отслеживания вывода в консоль сообещний об ошибке. Так что результат ориентировочно такой: Код:
@isql -Usa -P1234 -n -Q"exec do_something 100, 200" Код:
@isql -Usa -P1234 -n -Q"exec do_something 100, 200" | find "УНИКАЛЬНАЯЧАСТЬСООБЩЕНИЯООШИБКЕ" |
Сработало! Спасибо!
|
Время: 22:47. |
Время: 22:47.
© OSzone.net 2001-