在批处理文件中终止无限运行的进程

在批处理文件中终止无限运行的进程

我正在尝试寻找一种使用批处理文件来自动化某个过程的方法。

该过程会无限期地将输出记录到文件,直到通过键盘收到中断(ctrl+c)命令。

我似乎找不到让它响应中断的方法,因为进程本身似乎会绑定命令窗口直到出现中断。

实际上,我想运行该命令 24 小时(或尽可能接近),取消它,执行一些文件移动/重命名,然后重新启动该命令。

到目前为止我已经:

e:
md e:\aculogs
cd e:\aculogs
del 14daysago00.txt
ren 13daysago00.txt 14daysago00.txt
ren 12daysago00.txt 13daysago00.txt
ren 11daysago00.txt 12daysago00.txt
ren 10daysago00.txt 11daysago00.txt
ren 9daysago00.txt 10daysago00.txt
ren 8daysago00.txt 9daysago00.txt
ren 7daysago00.txt 8daysago00.txt
ren 6daysago00.txt 7daysago00.txt
ren 5daysago00.txt 6daysago00.txt
ren 4daysago00.txt 5daysago00.txt
ren 3daysago00.txt 4daysago00.txt
ren 2daysago00.txt 3daysago00.txt
ren yesterday00.txt 2daysago00.txt
copy e:\Port00.txt D:\aculogs\yesterday00.txt
del e:\Port00.txt

cd %PROGRAMFILES%\aculab\v6\bin
v6trace -port 188746 0 -trace_high > e:\Port00.txt

我需要在尽可能接近 24 小时后结束最后一条命令,这样我才能让任务调度程序立即重新启动它。我是否超出了批处理文件中所能执行的操作的限制?我对所有这些都是新手……

答案1

最简单的方法是在第一行写以下内容:

taskkill /im v6trace.exe /f

这将终止 v6trace 应用程序。然后您可以通过 Windows 任务管理器安排它每天午夜执行。

它要做的第一件事就是终止 v6trace(上次运行中的最后一个运行命令) - 有效地结束前一批,然后再次启动整个过程。

希望这可以帮助,

相关内容