Windows 系统
在 Windows 中,没有像 rm 或 del 那样直接针对单个打印任务的命令行工具,但我们可以通过 命令提示符 或 PowerShell 来调用系统功能实现。

方法1:使用命令提示符 (最常用)
这是最接近“命令行”删除任务的方法。
-
打开命令提示符
- 按
Win + R键,输入cmd,然后按回车。 - 或者,在开始菜单搜索“cmd”并打开。
- 按
-
查看打印队列
-
你需要知道你的打印任务所在的打印机名称和任务ID。
(图片来源网络,侵删) -
运行以下命令列出所有打印机和它们的队列:
net print
-
你会看到类似下面的输出:
Printer queues --------------- [打印机名称1] [作业ID] [用户名] [大小] [ submitted] 1 UserA 100 2025-10-27 10:00 [打印机名称2] [作业ID] [用户名] [大小] [ submitted] 3 UserB 200 2025-10-27 11:00 -
记下你要删除的任务所在的 打印机名称 和 作业ID (
3)。
-
-
删除指定打印任务
(图片来源网络,侵删)- 使用以下语法删除任务:
net print \\计算机名\打印机名称 /delete 作业ID
- 注意:
- 如果打印机是连接在你自己的电脑上,
\\计算机名\通常可以省略,直接写net print "打印机名称" /delete 作业ID。 - 如果打印机名称包含空格,请用引号括起来。
- 如果打印机是连接在你自己的电脑上,
- 示例:
假设打印机名称是
HP_LaserJet_Pro,作业ID是3,命令如下:net print "HP_LaserJet_Pro" /delete 3
- 使用以下语法删除任务:
方法2:使用 PowerShell (更强大)
对于熟悉 PowerShell 的用户,这是一个更现代和强大的方法。
-
打开 PowerShell
- 按
Win + X键,选择“Windows PowerShell”或“终端”。
- 按
-
获取打印队列信息
- 使用
Get-PrintJobcmdlet,你需要指定打印机名称。Get-PrintJob -PrinterName "HP_LaserJet_Pro"
- 你会看到打印任务的详细信息,包括 JobId (作业ID) 和 Owner (所有者)。
- 使用
-
删除打印任务
- 使用
Remove-PrintJobcmdlet,需要提供打印机名称和作业ID。Remove-PrintJob -PrinterName "HP_LaserJet_Pro" -JobId 3
- 使用
方法3:使用图形界面 (最简单)
如果你不执着于命令行,图形界面是最直观的。
- 打开 “设置” -> “蓝牙和其他设备” -> “打印机和扫描仪”。
- 找到你的打印机,点击它旁边的 “打开队列”。
- 在弹出的打印队列窗口中,右键点击要删除的任务,选择 “取消”。
- 或者,选中任务后,点击菜单栏的 “文档” -> “取消”。
macOS 系统
macOS 主要使用 lp 和 cancel 命令来管理打印任务。
查看打印队列
你需要知道你的打印任务ID。
-
查看所有用户的打印队列:
lpstat -o
输出示例:
HP_LaserJet_Pro-1 is idle. enabled since [日期] "用户A的文档.pdf" 123 "用户B的报告.docx" 124123和124就是你要删除的 作业ID。
-
查看当前用户的打印队列:
lpstat -o -u
删除打印任务
使用 cancel 命令,后跟作业ID或打印机名称。
-
删除指定ID的作业:
cancel 123
-
清空指定打印机的所有作业:
cancel -a "HP_LaserJet_Pro"
- 注意:打印机名称中的空格要用引号括起来。
-
强制删除一个可能卡住的作业(需要管理员权限):
sudo cancel 123
图形界面方法
- 打开 “系统设置” -> “打印机与扫描仪”。
- 在左侧列表中选择你的打印机,然后点击 “打开打印队列” 按钮。
- 在打印队列窗口中,选中要删除的任务,点击工具栏的 “删除” 按钮 (一个垃圾桶图标)。
Linux 系统
Linux 的打印系统通常是 CUPS (Common UNIX Printing System),其命令与 macOS 类似,也是 lp 和 cancel。
查看打印队列
-
查看所有打印队列:
lpq
输出示例:
Rank Owner Job File(s) Total Size active userA 123 用户A的.pdf 10000 bytes 2nd userB 124 用户B.docx 20000 bytes123和124作业ID。
-
查看特定打印机的队列:
lpq -P "打印机名称"
删除打印任务
使用 lprm (remove print job) 或 cancel 命令。
-
删除当前用户的指定作业:
lprm 123
-
删除指定用户的作业(需要root权限):
sudo lprm -P "打印机名称" userB
-
使用 cancel 命令删除:
cancel 123
-
清空打印机的所有作业(需要root权限):
sudo lprm - -P "打印机名称" # 或者 sudo cancel -a "打印机名称"
图形界面方法
大多数 Linux 发行版(如 Ubuntu 的 GNOME, Fedora 的 KDE)都提供了与 macOS 和 Windows 类似的图形界面。
- 进入 “设置” -> “打印机”。
- 选择你的打印机,通常会有一个“查看打印队列”或类似的选项。
- 在队列窗口中,右键点击任务选择“取消”或选中后点击删除按钮。
| 操作系统 | 核心命令 | 示例 | 备注 |
|---|---|---|---|
| Windows | net print / Remove-PrintJob |
net print "MyPrinter" /delete 5 |
需要知道打印机名和作业ID。 |
| macOS | cancel / lprm |
cancel 5 |
系统原生支持,简洁高效。 |
| Linux | cancel / lprm |
lprm 5 |
依赖于 CUPS 系统,与 macOS 命令相似。 |
对于普通用户来说,图形界面 通常是最简单直接的方法,但对于需要自动化管理或远程操作服务器打印任务的情况,命令行 是必不可少的工具。
