windows 每天仅执行一次批处理脚本

iezvtpos  于 2023-01-14  发布在  Windows
关注(0)|答案(2)|浏览(225)

我是新的工作与批处理脚本,我有一个场景,我必须照顾很快。我有一个批处理脚本,负责发送短信给用户。我希望这个批处理脚本运行一天只有一次,无论我尝试执行它多少次。谢谢提前

hlswsv35

hlswsv351#

我很好奇。为什么你会要求用户运行批处理文件?你应该看看使用SCHTASKS的调度命令,Windows 10上的任务调度程序。
参见:https://www.windowscentral.com/how-create-task-using-task-scheduler-command-prompt
如果你坚持用户运行批处理文件,你必须使用某种持久的run-once标志。你可以用下面的逻辑实现一些东西:
1.检查特定目录中是否存在名为. runonce-yyyymmdd的文件
1.如果该文件不存在,则创建它。内容无关紧要。零字节文件即可。a.如果前一天的. runonce-yyyymmdd文件存在,则将其删除。b.继续执行批处理文件的其余部分。
1.如果该文件存在,请停止(因为该批处理文件已经运行了一天)。

szqfcxe2

szqfcxe22#

我相信它是日期时间格式独立的:

:: Run once a day
FOR /f "tokens=2-4 delims=/ " %%a IN ("%date%") DO SET today=%%a%%b%%c
IF EXIST %today%.day (
    @echo Already ran!
    timeout /T 5
) ELSE (
    del *.day 
    @echo today=%today% > %today%.day
    
    the_command_that_will_run_once_a_day.exe

)

我在一个批处理文件中使用了这个代码片段,这个文件使用任务调度器每小时运行一次。

相关问题