批处理文件:检查程序,重新启动或什么也不做

时间:2013-04-09 15:32:54

标签: if-statement batch-file application-restart tasklist taskkill

我正在努力解决这个问题。脚本的想法应该是:

如果程序1正在运行 关闭它然后打开它 如果没有运行 什么都不做

这将用于XP和win7机器

这就是我所拥有的,但我不知道如何合并if语句,或者即使我拥有的内容是远程正确的:

tasklist /fi "imagename eq KDS.exe" taskkill /f /im "KDS.exe"  start "" "C:\Path\KDS.exe"

1 个答案:

答案 0 :(得分:1)

我会首先执行taskkill,并检查其返回值以确定它是否成功。如果是,则重新启动该过程。

taskkill /f /im "kds.exe" && (
    start "" "C:\Path\KDS.exe"
)

灵感来源:Killing a process in Batch and reporting on success