-2

我一直试图让一批在某个日期开始另一批。(指定)我已经尝试了所有我能想到的。TIMEOUT 不适用于此。有什么建议么?编辑:对不起,我没有提供足够的信息。我所说的“批次”是指批次,就像语言中一样。我需要使用批处理语言编写脚本以在所需日期执行。说如果我批量编写这段代码......

@echo off
:start
start notepad.exe
pause >nul
goto start

...我希望它在指定的日期自动执行,例如 11 月 25 日,我该怎么做呢?谢谢你的理解。

4

2 回答 2

0

你总是可以Task Scheduler用来做这项工作——这就是它的目的。

你可以试试

在 23:30 /every:1,4,8,14,16,23,28 “yourbat.bat”

要在(每月运行)或许多其他选项yourbat.bat之后的日期的 23:30(晚上 11:30)运行 - 请参阅/every:

at /?

从提示开始,并准备进行一些实验。

但是,如果您想在不使用任务调度程序的情况下在特定日期运行(尽管AT只是安排一个作业......)那么您可以添加

if not "%date%"=="whateverdateyouwant" goto :eof

yourbat.bat代码的开头(并且目标日期必须与echo %date%指令上显示的日期格式相同

但是有无穷无尽的可能性——比如在文件中有一个日期/时间/进程列表并将这些与当前日期/时间进行匹配并使用

if "%date%"=="%%A" if "%time%" gtr "%%B" start "" %%C

精确的构造取决于对您正在做什么的更具体的定义以及您正在使用的日期和时间格式的规范。

于 2013-04-01T04:07:02.917 回答
0

无限循环会浪费太多的系统资源。任务计划程序是一个不错的选择。

schtasks /create /tn "My App" /tr C:\test.bat /sc once /st 00:00:00 /sd 11/25/2013 /ru System
于 2013-04-01T06:45:28.597 回答