我有一个任务,每10分钟运行一个程序来扫描一个目录,将.doc转换为.pdf并将它们重新定位到另一个目录。
不幸的是,该程序无法处理大量winword.exe
进程,因此它经常停止运行。发生这种情况时,.doc文件将继续生成,而我必须手动移动文件,因此这有点耗时。
我写了一个exe(C:\Windows\System32\cmd.exe /k task kill /IM winword.exe /F
)放在桌面上。我用它杀死所有winword.exe
进程,因此在我停止任务后它会清除系统,然后再重新启动任务。
本质上,只是尝试使用一个函数来结束一项任务,运行脚本以杀死winword.exe
个进程,并在杀死这些进程后运行一个任务,但不确定哪种功能最好做到这一点。 / p>
谢谢您的任何建议。
答案 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-ScheduledTask
,Start-ScheduledTask
,Get-Process
和Stop-Process
的文档。