I think your method of looking for the actual time log file name is better. Less chance of a false result, should find.exe output an error message.
This should avoid the need for a intermediate file:
c:\find\find.exe C:\yms -type f -mmin +0 -mmin -2 | findstr "schedok.txt">nul && goto end
REM code to run if file not found
:end
As for the zero I saw that if i did a min +1 it waited for the first 59sec to elapse before being seen thus giving me a false positive.
What I meant was, if you use the -mmin +X -mmin -Y format you are specifying a time range: modified at least X minutes ago and not more than Y minutes ago. If you just use -mmin -Y you are going to catch any file modified from now, the present instant, back to Y minutes ago. In other words if you just specify the "minus" ("not earlier than") time, the start of the looking-backwards time range is implicitly "right now". So that (surely)
-mmin +0 -mmin -2 is equivalent to
-mmin -2 i.e. -mmin +0 is superfluous?
I have tested this and found that putting just -mmin -1 will find a file 2 seconds old.
Here it finds a file which was modified 2.45 seconds before. You will see I have renamed the GNU find.exe because like many people I deplore the idea of having 2 different executables, one native, one third party, with the same (common) name.
C:\>echo %time% & gnu-find.exe T:\timelog -type f -mmin -1 | findstr "MyTimeLog"
9:17:52.43
T:\timelog/MyTimeLog-09-17-50-98.txt