使用什么适当的PowerShell cmdlet可以杀死特定的Excel文件。命令
Stop-Process -Name "excel"
关闭所有打开的Excel应用程序。
谢谢!
答案 0 :(得分:4)
实际上,excel在.xlsx
的一个实例中打开excel.exe
文件
杀死excel.exe将杀死所有打开的工作簿。 MainWindowTitle
仅显示主动工作簿,因此您将无法通过该属性来匹配被动工作簿。
一种关闭特定工作簿的更好方法是通过com对象获取excel实例。
关闭与Name
(文件名)或FullName
(文件路径)匹配的工作簿
$excel = [System.Runtime.InteropServices.Marshal]::GetActiveObject("Excel.Application")
$excel.DisplayAlerts = $false
$excel.Workbooks | %{if($_.Name -imatch "excel file name"){$_.Close()}}
答案 1 :(得分:2)
尝试一下:
Get-Process excel –ea 0 | Where-Object { $_.MainWindowTitle –like ‘*report.csv*’ } | Stop-Process
这是MS的官方指南:
答案 2 :(得分:0)
$Application = New-Object -ComObject excel.application
$Application.Visible=$True
$workbook = $application.Workbooks.open("C:\mySheet.xlsx")
Start-Sleep -Seconds 5
$workbook.close($false)
问题是在关闭文档时窗口保持打开状态。
希望它仍然有帮助。 BR