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

Показать сообщение отдельно

Ветеран


Contributor


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

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


На ваш код не смотрю, смотрю ваше описание алгоритма и последовательно его переписываю - не надо путаться, надо как в белорусском языке - как слышится, так и пишется :-)
Код: Выделить весь код
@Echo off
cls

Set "ErrorLim=Q:\Error.lim"
Set "Code=CLIENT_CODE"
Set "ErrDir=Q:\Error"

SetLocal EnableExtensions EnableDelayedExpansion

If Exist "%ErrorLim%" (
	findstr /I /C:"%Code%" "%ErrorLim%" >nul
	If !Errorlevel!==0 (
		Move "%ErrorLim%" "%ErrDir%\%Date%_%Time::=%_error-FORTS.lim" >nul
		Echo mailsend1.18.exe *** При выгрузке произошли ошибки  ***
	) Else (
		Del "%ErrorLim%"
		Echo mailsend1.18.exe *** При выгрузке всё ОК ***
	)
) 
:FRMB

pause
Метка :FRMB абсолютно не нужна, написал только потому, что она помянута в постановке.
Программы mailsend1.18.exe у меня естественно нет, для отладки поставил на эту строку Echo, чтобы видеть что происходит. Вы Echo уберёте. Как и pause.
Я не знаю, что такое %FD%_error-FORTS.lim%R%, поэтому заменил на имя с датой и временем при переносе-переименовании.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 20-05-2016 в 21:06.


Отправлено: 21:00, 20-05-2016 | #5