我需要安排一个 Windows 任务每分钟运行一个脚本。大多数情况下,该脚本不需要执行任何操作并且立即存在。什么时候脚本需要执行某些操作,我希望它尽快开始工作,因此间隔一分钟。
现在,Windows Scheduler 的 UI 近年来变得相当混乱,所以我不确定在 Windows 2008 R2 上每分钟(或每 5 分钟..)运行一次任务的最佳方法是什么。
这是在 Windows 下每分钟安排任务的最佳方式吗?它可靠吗?它是在机器重启后直接启动,还是只在中午 12 点再次启动?请注意,我无法为此使用/编写自定义服务应用程序,因为我需要它非常便携。
答案1
是的,此服务将在重启后运行,您可以在任务计划程序服务事务日志中验证它:
系统根目录\SchedLgU.txt (其中 Systemroot 是您的 Windows 安装文件夹)
如果它不能正常工作(在 XP 下,不确定 2008 是否等效):
控制面板 -> 管理工具 -> 服务 -> 任务计划程序 设置为自动。
任务的计划在指定时间开始,之后根据重复参数执行。开始时间可以视为“任务安装”时间,它不是重复参数的一部分(除非作为计时器偏移量)。希望这有意义!
答案2
我有同样的要求。在 Server 2008 中,您实际上可以修改重复任务间隔:下拉列表。默认情况下,最低值为“5分钟”,但你可以直接输入“1分钟”您可以通过查看触发器标签,看到它说“... 每 00:01:00 重复一次...”。您也可以尝试输入“10 秒”您将收到一条错误消息,提示您选择大于 1 分钟的时间。
答案3
我能够使用命令行“schtasks”安排任务每分钟重复一次。代码示例如下:
schtasks /create /sc 分钟 /mo 1 /tn “任务名称” /tr c:\temp\filename.exe
该任务确实显示在 Windows 2008 R2 GUI 中,每分钟运行一次。需要使用命令行“schtasks”实用程序创建和修改该任务。
不幸的是,微软愚蠢地设计了 Windows 2008 R2 任务计划程序,放弃了 Windows 2003 任务计划程序中的灵活配置,而只提供了一些有限的间隔选择。
戴夫凡
答案4
试试这个,对我有用...
REM ================================================================
REM # 主体
REM ===============================================================
如果“%1”==“”echo用法:-C:\ scripts \ port_schtask.cmd ^ ^ &&%SystemRoot%\ system32 \ ping 127.0.0.1 -n 10> nul &&退出
如果不存在 C:\scripts\port.bat echo 用法:- 文件不存在 C:\scripts\port.bat && %SystemRoot%\system32\ping 127.0.0.1 -n 10 >nul && exit
%SystemRoot%\system32\schtasks /delete /tn “端口.bat %1 %2”/f
%SystemRoot%\system32\schtasks /create /tr "C:\scripts\port.bat %1 %2" /SC MINUTE /MO 1 /tn "port.bat %1 %2" /RU "SYSTEM"
%SystemRoot%\system32\SCHTASKS /run /TN “端口.bat %1 %2”
%SystemRoot%\system32\SCHTASKS|%SystemRoot%\system32\find.exe “端口.bat %1 %2”
%SystemRoot%\system32\schtasks /query /TN “端口.bat %1 %2”
%SystemRoot%\system32\ping 127.0.0.1 -n 10 >nul
远程 ------------------------------------------------------
欢呼 RJB