You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PRNMNGR无法删除含撇号(')的打印机

解决Windows 7中带撇号的打印机无法通过prnmngr.vbs删除的问题

我碰到过完全一样的情况——当打印机名称里包含撇号(比如"Teacher's Lounge Printer")时,执行以下删除命令:

cscript "%WINDIR%\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "Teacher's Lounge Printer"

会抛出Error 0x8004103A Invalid object path错误,而把名称里的撇号去掉(改成"Teachers Lounge Printer")后,对应命令就能正常完成删除操作。

问题根源

这个错误的核心原因是prnmngr.vbs底层依赖WMI(Windows Management Instrumentation)来操作打印机,而WMI的查询语法中,单引号(撇号)是用来界定字符串的特殊字符。当打印机名称本身包含撇号时,会破坏WMI查询语句的结构,导致系统无法正确解析打印机的对象路径,最终返回无效路径的错误。

可行的解决办法

1. 重命名打印机后删除(最直观的方式)

就像你已经尝试的那样:

  • 打开Windows打印机设置,找到目标打印机,右键选择“重命名”
  • 去掉名称里的撇号(比如改成Teachers Lounge Printer)
  • 执行对应名称的删除命令:
    cscript "%WINDIR%\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "Teachers Lounge Printer"
    

2. 用WMIC命令替代(无需重命名)

如果不想修改打印机名称,可以直接使用wmic命令行工具,它对包含撇号的名称处理更友好:

wmic printer where name="Teacher's Lounge Printer" delete

这里的双引号要保留,WMIC能正确解析带撇号的打印机名称,执行后就能直接删除目标打印机。

3. 修改prnmngr.vbs脚本(进阶方案)

如果需要批量处理这类打印机,可以修改prnmngr.vbs脚本,在构建WMI查询时对名称中的撇号进行转义(把单个'替换成'')。不过这需要一定的VBScript基础,适合有脚本修改需求的场景。

内容的提问来源于stack exchange,提问作者wmbell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:36:28