Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] *CMD/BAT* | Условное выполнение в батнике

Ответить
Настройки темы
CMD/BAT - [решено] *CMD/BAT* | Условное выполнение в батнике
pva pva вне форума

Аватара для pva

Ветеран


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

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


тов.умные люди, скажите плз, как сделать следующее (Windows):
нужно при удачном выполнении комманды @isql -Usa -P1234 -n -Q"exec do_something 100, 200"
напечатать в лог echo %date% %time% done something >> %varlog%\sql-activity.log
при неудачном - ничего не печатать.
Или это слишком сложно (т.е. прогу проще написать)?

Отправлено: 20:30, 10-07-2006

 

Аватара для vadimiron

Ветеран


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

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


pva
А разве в батниках нет чтото типа GOTO или я путаю??

-------
Fortes fortuna adiuvat


Отправлено: 19:43, 13-07-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для hasherfrog

Старый параноик


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

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


См. 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"
IF NOT ERRORLEVEL 0 echo %date% %time% done something >> %varlog%\sql-activity.log
Или такой:
Код: Выделить весь код
@isql -Usa -P1234 -n -Q"exec do_something 100, 200" | find "УНИКАЛЬНАЯЧАСТЬСООБЩЕНИЯООШИБКЕ"
IF NOT ERRORLEVEL 0 echo %date% %time% done something >> %varlog%\sql-activity.log
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:02, 13-07-2006 | #3

pva pva вне форума Автор темы

Аватара для pva

Ветеран


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

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


Сработало! Спасибо!

Отправлено: 14:37, 14-07-2006 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] *CMD/BAT* | Условное выполнение в батнике

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Не запускаются .bat .cmd файлы aifam Microsoft Windows 2000/XP 22 20-07-2016 14:51
Разное - [решено] перезагрузка из .bat или .cmd San_dr Программирование и базы данных 7 03-08-2011 01:58
CMD/BAT - [решено] разница между bat и cmd alexandri Скриптовые языки администрирования Windows 2 11-01-2010 22:29
[решено] Выполнение bat'ника на Рабочем столе ZeroCrash AutoIt 5 04-07-2009 22:55
CMD/BAT - [решено] Кириллица в cmd и bat файлах vagner_HATE Скриптовые языки администрирования Windows 4 05-04-2005 15:55




 
Переход