如何通过CMD或Powershell停止任务,终止进程并重新启动任务?

时间:2019-11-08 14:53:56

标签: powershell batch-file cmd

我有一个任务,每10分钟运行一个程序来扫描一个目录,将.doc转换为.pdf并将它们重新定位到另一个目录。

不幸的是,该程序无法处理大量winword.exe进程,因此它经常停止运行。发生这种情况时,.doc文件将继续生成,而我必须手动移动文件,因此这有点耗时。

我写了一个exe(C:\Windows\System32\cmd.exe /k task kill /IM winword.exe /F)放在桌面上。我用它杀死所有winword.exe进程,因此在我停止任务后它会清除系统,然后再重新启动任务。

本质上,只是尝试使用一个函数来结束一项任务,运行脚本以杀死winword.exe个进程,并在杀死这些进程后运行一个任务,但不确定哪种功能最好做到这一点。 / p>

谢谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

虽然最好的解决方案是像@Stephan所提到的那样限制作为程序一部分的winword进程一次运行,但如果要停止预定的任务,请杀死所有winword进程,然后再次启动任务,您可以在Powershell脚本中执行以下操作:

Stop-ScheduledTask -TaskName "Name of Scheduled Task"
Get-Process winword | Stop-Process -Force
Start-ScheduledTask -TaskName "Name of Scheduled Task"

可以在前面的链接中找到关于Stop-ScheduledTaskStart-ScheduledTaskGet-ProcessStop-Process的文档。