在我们公司,我们使用 Windows 应用程序来生成 Word (2010) 文档。有时文档没有正确关闭,所以另一个应用程序(是的,他们仍然称之为开发:)杀死运行超过 1 分钟的 word 进程。
这些被杀死的进程存储在 MS Word 的“文档恢复”中。在 Word 2010 中无法关闭这些文档恢复(选项/“保存自动恢复信息..”并不能解决问题)。当这些“文档恢复”充满文档(几十个或几百个)时,应用程序停止生成文档,我们需要手动清除前面。
我能够编写这个脚本来识别和杀死运行超过 10 秒的进程,但是有没有办法正确关闭它(不杀死它)?
我发现本教程使用 powershell 创建和退出 word 文档,但是如何将特定的 word 进程与这些 MS Office 方法连接以关闭文档?
$timer = 10
$date = Get-Date
if (Get-Process winword*) {
Get-Process winword | foreach {
if ((($date - $_.StartTime).Seconds) -gt $timer) {
$procID = $_.id
Write-Host -ForegroundColor Magenta "Process $procID is running longer than $timer seconds."
Write-Host -ForegroundColor Green "Killing process $procID.."
Stop-Process $procID
}
}
}