Windows 任务计划程序:计划任务每​​ 10 秒运行一次

Windows 任务计划程序:计划任务每​​ 10 秒运行一次

在我的 Windows 中,我想安排 Windows 服务每 10 秒启动一次。我尝试使用 Windows 任务计划程序,但它只为我提供了每天、每周和每月重复该服务的选项。

有没有办法可以使用 Windows 任务计划程序安排 Windows 服务每 10 秒启动一次?

我们能做什么呢?

答案1

为此,您应该编写一个 Windows 服务,因为这就是它们的用途。

答案2

Windows 任务计划程序触发器的重复频率不能超过每 1 分钟一次,但您可以设置多个触发器。要每 10 秒运行一次任务,请添加六个触发器。每个触发器都应每天运行任务,每 1 分钟重复一次任务。它们的开始时间应为 12:00:00 AM、12:00:10 AM、12:00:20 AM、12:00:30 AM、12:00:40 AM 和 12:00:50 AM。

编辑触发器对话框

虽然很傻,但是却很有效。

答案3

很傻,Windows 没有在任务计划程序中内置此功能。不过,可以使用简单的 powershell 脚本轻松解决这个问题。

 $i = 0
 for ($i=0; $i -le 4) 
   Start-Service -Name "servicename"  
   sleep 10
   $i++
 }

将其保存为主机上的 *.ps1 文件。然后按照 Adam C 的任务计划程序设置,将其安排为每分钟运行一次。这将每 10 秒启动一次服务(我将其命名为“servicename”)。

答案4

您可以使用自动热键

以下 autohotkey 解决方案比 Windows 任务计划程序解决方案好得多,因为任务计划程序解决方案仅在特定时间起作用。因此,如果您的计算机在该时间之后打开,那么您必须等待时钟到达该时间。这只会在脚本启动后立即运行。

使用 autohotkey,您可以使用 a) 计时器或 b) while true 和 sleep。(注意 - 我已经测试过两者.. 两者看起来都很好.. 顺便说一下,while 循环和 sleep 不会占用 CPU)

假设你的 autohotkey 文件是 blah.ahk

而您想要运行的是一个 bat 文件。

while true
{
Run cmd /c c:\blah\blah.bat,,Hide
sleep 10000  ; 10 seconds
}

bat 文件可以包含命令列表。或者你可以运行 exeRun c:\blah\blah.exe

您可以创建一个包含 行的主 autohotkeys 文件include,其中每行对应您想要运行的 ahk 脚本。这样可以避免出现大量托盘图标或出现一个巨大的 ahk 文件。

计时器版本如下所示

setTimer, label, 10000     ;10 seconds
return

label:
; do some commands
return

相关内容