На ваш код не смотрю, смотрю ваше описание алгоритма и последовательно его переписываю - не надо путаться, надо как в белорусском языке - как слышится, так и пишется :-)
Код:
![Выделить весь код](images/misc/selectcode.png)
@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%, поэтому заменил на имя с датой и временем при переносе-переименовании.