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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Множественные условия с получением %ERRORLEVEL%

Ответить
Настройки темы
CMD/BAT - Множественные условия с получением %ERRORLEVEL%

Новый участник


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

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


Друзья, здравствуйте!
Подскажите пожалуйста, уже всю голову сломал.
Есть батник автоматизации, основная его часть такова:

Код: Выделить весь код
SetLocal EnableExtensions EnableDelayedExpansion
if not exist "Q:\error.err" (
%mailsender% другие переменные сендера -sub "FILE. STATUS: OK." -cs windows-1251 -M "Всё ОК."
) else (
findstr /I /C:"ISHEM OSHIBOCHNYE STROKI" "Q:\error.err" >nul
if "%ERRORLEVEL%"=="0" (
move "Q:\error.err" "%ErrDir%\%FD%_error-GEN.file" >nul
%mailsender% другие переменные сендера -sub "FILE. STATUS: ATTENTION. Detected Error." -cs windows-1251 -M "Есть ошибки."
) else (
del "Q:\error.err"
%mailsender% другие переменные сендера -sub "FILE. STATUS: OK." -cs windows-1251 -M "Всё ОК."
)
)
Файл error.err создаётся всегда, но если ошибок нет, то он пустой. Если ошибки есть, то ищем их по указанным значениям команды findstr.

Проблема в том, что как бы я не крутил, но на почту всегда приходит сообщение "Есть ошибки", даже в том случае если файл error.err создался пустым и ошибок соответственно нет.

Ткните меня носом пожалуйста, где я накосячил?

Большое всем спасибо за помощь!

Отправлено: 22:10, 18-10-2017

 

Ветеран


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

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


POSTREALITY,
вашу мамалыгу кроме вас никто и не разберет - это понятно, поэтому лучше просто напишите задачу и идею плюс цель, опишите детально, неплохо привести желаемый алгоритм.

Отправлено: 22:28, 18-10-2017 | #2



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

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


Ветеран


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

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


Цитата POSTREALITY:
Проблема в том, что как бы я не крутил, но на почту всегда приходит сообщение "Есть ошибки", даже в том случае если файл error.err создался пустым и ошибок соответственно нет. »
Код: Выделить весь код
	if !ERRORLEVEL! equ 0 (
А ещё лучше вообще уйти от переменной:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFile=q:\error.err

if exist "%sSourceFile%" (
	type "%sSourceFile%" | >nul findstr.exe /i /c:"ISHEM OSHIBOCHNYE STROKI" && (
		move "%sSourceFile%" "%ErrDir%\%FD%_error-GEN.file" >nul
		"%mailsender%" другие переменные сендера -sub "FILE. STATUS: ATTENTION. Detected Error." -cs windows-1251 -M "Есть ошибки."
	) || (
		del "%sSourceFile%"
		"%mailsender%" другие переменные сендера -sub "FILE. STATUS: OK." -cs windows-1251 -M "Всё ОК."
	)
) else (
	"%mailsender%" другие переменные сендера -sub "FILE. STATUS: OK." -cs windows-1251 -M "Всё ОК."
)

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:51, 18-10-2017 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Множественные условия с получением %ERRORLEVEL%

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
errorlevel msp sov44 Хочу все знать 15 29-07-2013 12:17
Множественные последствия заражения sasha-lav Лечение систем от вредоносных программ 6 14-10-2012 15:00
Разное - Множественные входящие VPN-подключения rsod Microsoft Windows 7 1 30-08-2011 15:22
2008 - множественные event 10009 Gudy Windows Server 2008/2008 R2 13 18-06-2011 01:15
BSOD - Множественные BSOD ioka Устранение критических ошибок Windows 10 12-12-2010 10:27




 
Переход