我需要执行一个批处理文件,该文件每分钟运行一次,持续 1 分钟。1 分钟后,它将执行另一个批处理文件,该文件运行 30 秒。
然后它重复运行第一个批处理文件,然后运行第二个。这将无限期运行,直到被管理员停止。如何在 Windows 7 上实现这一点?
答案1
为什么不让第一个批处理文件调用第二个批处理文件,然后第二个批处理文件再调用第一个批处理文件等等?第一个批处理文件可以使用 Windows 中的计划任务启动。
如果要控制时间,请编写一个程序(例如 C#),该程序将在 while 循环中在单独的线程中运行指定时间的批处理文件。
示例 C# 控制台应用程序:(已知问题:关闭控制台应用程序不会停止正在运行的批处理文件):
using System;
using System.Diagnostics;
using System.Threading;
namespace TimedBatchFile
{
internal class Program
{
private static void Main()
{
while (true)
{
Console.WriteLine("Close the console window to exit.");
Process process1 = Process.Start("Notepad.exe");
Thread.Sleep(TimeSpan.FromMinutes(1));
process1.Kill();
Process process2 = Process.Start("cmd.exe");
Thread.Sleep(TimeSpan.FromSeconds(30));
process2.Kill();
}
}
}
}