4

我写了一个 Windows .bat 脚本。运行命令列表,然后关闭计算机。

如:

c:\someapplication.exe
c:\someapplication2.exe
Shutdown -s -t 0

有时,“c:\someapplication.exe”会冻结并且没有响应。如何为命令“c:\someapplication.exe”设置超时,以便在一定时间后,我希望 Windows 强制关闭应用程序并继续执行其余命令?

4

3 回答 3

3

如果你能负担得起所有一些应用程序并行运行试试这个

 start someapplication
 start someapplication2
 wait n secons
 shutdown

选择您的 n 值,以便在某些应用程序仍然运行合法时它不会继续关闭

或者

 start someapplication
 wait n seconds
 start someapplication2
 wait m seconds
 shutdown

因为wait周围有很多解决方案,谷歌一些蝙蝠等待超时

于 2012-05-14T12:47:50.803 回答
3

您可以使用ping和的组合taskkill来执行此操作。

start c:\someapplication.exe
ping 127.0.0.1 -n seconds
taskkill /im someapplication.exe /f 
start c:\someapplication2.exe
ping 127.0.0.1 -n seconds
taskkill /im someapplication2.exe /f 
Shutdown -s -t 0 /f

只需secondsping命令中替换为在尝试关闭进程之前要等待的秒数(足够的时间,如果它仍在运行,它一定已经崩溃)。然后应用程序的其余部分可以继续运行,直到它被强制关闭。

于 2012-05-15T08:36:54.700 回答
2

您可以一次运行您的 exe 程序和关闭命令,并将超时设置在关闭选项 [-t] 中。要一次运行多个命令,请使用“start”命令(“start [yourProgram.exe]”)。要强制关机,请使用 [-f] 选项。

祝你好运

于 2012-05-14T13:03:57.817 回答