如何使用powershell脚本杀死任务栏中的word文档
问题描述:
我正在编写脚本以使用PowerShell
脚本关闭任务栏中的word文档。我能够取消固定使用文档:如何使用powershell脚本杀死任务栏中的word文档
Pin-Taskbar -Item -Action <Pin|Unpin>
不过,我需要关闭文档不取消固定。不知道如何找到特定的文档并关闭它。
答
以下内容将关闭所有Word应用程序中的所有Word文档,询问他们是否要在文档关闭前保存文档。然后,所有的Word应用程序进程都被终止。
$wd = [Runtime.Interopservices.Marshal]::GetActiveObject('Word.Application')
$wd.Documents | % { $_.Close() }
Get-Process | ?{$_.ProcessName -eq "WINWORD"} | Stop-Process
谢谢。这工作正常,但我需要该文件要求用户给弹出保存。强制关闭文档而不保存将意味着丢失数据。 – user3190414
@ user3190414我已经更新了我的答案,因此用户被要求在关闭之前保存工作。 – Richard
谢谢理查德。这是行得通的。我也尝试了这个excel和powerpoint,但它总是给出错误。以下是我曾尝试的: For Excel:$ wd = [Runtime.Interopservices.Marshal] :: GetActiveObject('Excel.Application') \t \t \t $ wd.Workbooks | %{$ _。Close()}。 \t \t \t Get-Process | ?{$ _。ProcessName -eq“EXCEL”} |停止过程 。对于Powerpoint: $ wd = [Runtime.Interopservices.Marshal] :: GetActiveObject('Powerpoint.Application') \t \t \t $ wd.Presentations | %{$ _。Close()} \t \t \t Get-Process | ?{$ _。ProcessName -eq“POWERPOINT”} |停止过程 – user3190414