Почему бы не заставить ваш 1-й пакетный файл вызывать 2-й пакетный файл, который затем вызывает первый пакетный файл и так далее? Первый пакетный файл может быть запущен с помощью запланированных задач в 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();
}
}
}
}