I have a batch (*.bat) file that triggers a Python script and this script takes about 25 minutes to complete interactivly (through command prompt manuallly). This batch file nee
'Timeout' might a good command to schedule your task without Task Scheduler.
timeout /t 1500
[command to trigger Python script]
So you want 'This batch file needs to run in the morning...', you can set the start time and end time as well:
set timeHrs=%time:~0,2%
set timeMin=%time:~3,2%
set timeSec=%time:~6,2%
[insert timeout command]
if "%timeHrs%" geq 6 if "%timeHrs%" leq 9 [command to trigger Python script]
rem The above command is check if Hour is in 6-9 (in morning).
If you want then you can copy code below (you might have to edit code as well):
@echo off
:loop
set timeHrs=%time:~0,2%
set timeMin=%time:~3,2%
set timeSec=%time:~6,2%
timeout /t 1500
if "%timeHrs%" geq 6 if "%timeHrs%" leq 9 [command to trigger Python script]
goto loop
You also want to add the exit in code as well, but I think you don't need it, just let the code run everyday.
As the above has no exit strategy and is delayed for at least 25 minutes, this batch file code may be better suited to your need, drop a reference into your login batch or other trigger...
@echo off
:loop
set timeHrs=%time:~0,2%
set timeMin=%time:~3,2%
set timeSec=%time:~6,2%
if "%timeHrs%" geq 6 if "%timeHrs%" leq 9 (
[command to trigger Python script]
exit /b 0
)
timeout /t 1500
goto loop