用 PowerShell 清空卡住的打印队列

删除排队的打印任务并重启打印服务,不用重启整台电脑。

Windows打印队列打印机PowerShell低风险
运行 Get-PrintJob -PrinterName "打印机名" | Remove-PrintJob 清空队列,还不行就重启 Restart-Service Spooler 服务。

01命令

命令
$ Get-PrintJob -PrinterName "HP LaserJet" | Remove-PrintJob
Restart-Service -Name Spooler

02作用说明

一个损坏的打印任务就能卡死整个队列:后面的文档全部排队等待,设置里的“取消”按钮怎么点都没反应。Get-PrintJob 列出指定打印机的待打印任务,接管道传给 Remove-PrintJob 一次性全部删除,比在界面里一个个删快得多。如果任务删掉了但打印机还是没反应,重启 Spooler 服务——这正是老教程“删 C:\Windows\System32\spool\PRINTERS 目录下文件”的安全替代做法。不确定打印机确切名称时,先运行 Get-Printer 查看列表。

03风险

风险低风险
使用条件PowerShell as Administrator (for Restart-Service Spooler)
!注意: 删除任务立即生效且无法恢复——如果这是办公室共享打印机,所有人正在打印的文档都会被清掉,先确认再清空。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • Get-PrintJob
    Microsoft Learn · vendor-doc · 2026-09-17
    依据: Documents Get-PrintJob -PrinterName for listing jobs on a specific printer queue.
  • Remove-PrintJob
    Microsoft Learn · vendor-doc · 2026-09-17
    依据: Documents Remove-PrintJob for deleting print jobs, accepting pipeline input from Get-PrintJob.

最后验证: 2026-09-18 · 分类: 系统与设置

06相关方案