Я бы хотел, чтобы команда в командном файле выполнялась только в том случае, если она не выполнялась в течение последних 15 минут. Чтобы добиться этого, я могу создать файл «last_run» для записи времени последнего запуска.
Я застрял, сравнивая время последнего изменения с текущим временем и предпринимая действия, если время последнего изменения изменилось.
Вот мой текущий код:
@echo off
set filename=last_run.txt
if not exist %filename% (
rem NOT EXISTS, CREATE FILE THEN PRINT THE LIST
echo.>"%filename%"
GOTO PrintList
) else (
rem FILE EXISTS, GET TIME LAST MODIFIED
FOR %%? IN (%filename%) DO (set filetime=%%~t?)
echo %filetime%
rem IF TIME LAST MODIFIED > 15 MINS PRINT THE LIST
if timediff??(%filetime%, current) > 15 mins {
GOTO PrintList
} else {
GOTO End
}
)
:PrintList
rem PRINT THE LIST
echo now print the list
rem WRITE TO THE FILE TO UPDATE TIME LAST MODIFIED
echo.>"%filename%"
GOTO End
:End