Перед предложенными вариантами в батнике выполняется некая Startprogram.exe, которая создает log210, log211, log212 и т.д.
Как сделать, чтобы в начале предложенных вариантов проверялось создала ли Startprogram.exe новый файл или нет?
т.е., например, запускается батник, запоминается, что последний файл в папке "C:\11\" log212, далее start /wait "" "Startprogram.exe", далее проверяется появился новый файл log213, если нет - то выход, если да - то запускаются вышепредложенные варианты:
Вариант 1
Код:

@echo off
setlocal enableextensions enabledelayedexpansion
set sSourceFolder=C:\11
set sMask=log*.
if exist "%sSourceFolder%\." (
for /f "usebackq delims=" %%i in (`2^>nul dir /b /a:-d /o:d /t:c "%sSourceFolder%\%sMask%"`) do (
set sLastFile=%%~i
)
if defined sLastFile (
"Program.exe" /F "%sSourceFolder%\!sLastFile!"
) else (
echo Nothing found.
exit /b 2
)
) else (
echo Can't find source folder [%sSourceFolder%].
exit /b 1
)
endlocal
exit /b 0
Вариант 2
Код:

@Echo On
cls
Set "Mask=log*."
Set "BoxIn=C:\11"
Set "Prg="Program.exe" /F "%BoxIn%\%%f" /D "%BoxIn%" /DW"
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:-D /O:-D /T:C`) DO (
Start " " %Prg%
Exit /B
)
Echo !!! Folder Or Files "%BoxIn%\%Mask%" not found
Exit /B 1