当社では、Windows アプリケーションを使用して Word (2010) ドキュメントを生成しています。ドキュメントが適切に閉じられていない場合があるため、別のアプリケーション (はい、まだ開発と呼ばれています:) が 1 分以上実行されている word プロセスを強制終了します。
これらの強制終了されたプロセスは、MS Word の「ドキュメント リカバリ」に保存されます。これらのドキュメントの回復は、Word 2010 でオフにすることはできません (オプション/[自動回復情報を保存..] では問題は解決しません)。これらの「ドキュメント リカバリ」がドキュメント (数十または数百) でいっぱいになると、アプリケーションはドキュメントの生成を停止し、手動でフロントをクリアする必要があります。
このスクリプトを記述して、10 秒以上実行されているプロセスを特定して強制終了することができましたが、適切に (強制終了せずに) 閉じる方法はありますか?
このチュートリアルでは、powershell を使用して 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
}
}
}