无法使用 PRNMNGR 删除带撇号 (') 的打印机
Unable to Delete Printer w/ Apostrophe (') Using PRNMNGR
我有一台名为“Teacher's Lounge Printer
”的打印机(注意撇号)。
在标准 Windows 7 命令提示符下执行以下命令时,出现“Error 0x8004103A Invalid object path
”。
cscript "%WINDIR%\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "Teacher's Lounge Printer"
如果我将打印机重命名为“Teachers Lounge Printer
”(不带撇号),不带撇号的命令将成功执行。
cscript "%WINDIR%\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "Teachers Lounge Printer"
我觉得我已经尝试了双引号、单引号的所有组合,甚至尝试过转义字符。
最终,这会变成我正在编写的批处理脚本,但我首先需要让各个命令正常工作。
我知道我做错了什么,感谢您的帮助。
Microsoft 的 prnmngr.vbs 脚本使用 WMI 来提供基础功能。
WMI 接受使用单 '
引号或双 "
引号引起来的字符串。不幸的是 prnmngr.vbs 的开发者选择在两个地方使用单引号,当打印机名称包含单引号(撇号)时会导致问题。
我还没有找到以 WMI 接受的方式转义 prnmnger.vbs 参数中的 '
的方法。但我已经想出如何破解(调试)Microsoft prnmngr.vbs 代码来消除问题。
在我的机器上,在第 462 行和第 818 行有两条相同的违规行。
set oPrinter = oService.Get("Win32_Printer.DeviceID='" & strPrinter & "'")
可以通过在 WMI 查询字符串中切换为使用双引号来修复该错误。由于双引号文字在 VBS 引用字符串中,引号必须转义为 ""
.
set oPrinter = oService.Get("Win32_Printer.DeviceID=""" & strPrinter & """")
与其修改原始的 Microsoft 文件,不如将文件复制到不同的文件夹,并在其中进行更改,运行 破解版本而不是 Microsoft 原始文件。
我有一台名为“Teacher's Lounge Printer
”的打印机(注意撇号)。
在标准 Windows 7 命令提示符下执行以下命令时,出现“Error 0x8004103A Invalid object path
”。
cscript "%WINDIR%\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "Teacher's Lounge Printer"
如果我将打印机重命名为“Teachers Lounge Printer
”(不带撇号),不带撇号的命令将成功执行。
cscript "%WINDIR%\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "Teachers Lounge Printer"
我觉得我已经尝试了双引号、单引号的所有组合,甚至尝试过转义字符。
最终,这会变成我正在编写的批处理脚本,但我首先需要让各个命令正常工作。
我知道我做错了什么,感谢您的帮助。
Microsoft 的 prnmngr.vbs 脚本使用 WMI 来提供基础功能。
WMI 接受使用单 '
引号或双 "
引号引起来的字符串。不幸的是 prnmngr.vbs 的开发者选择在两个地方使用单引号,当打印机名称包含单引号(撇号)时会导致问题。
我还没有找到以 WMI 接受的方式转义 prnmnger.vbs 参数中的 '
的方法。但我已经想出如何破解(调试)Microsoft prnmngr.vbs 代码来消除问题。
在我的机器上,在第 462 行和第 818 行有两条相同的违规行。
set oPrinter = oService.Get("Win32_Printer.DeviceID='" & strPrinter & "'")
可以通过在 WMI 查询字符串中切换为使用双引号来修复该错误。由于双引号文字在 VBS 引用字符串中,引号必须转义为 ""
.
set oPrinter = oService.Get("Win32_Printer.DeviceID=""" & strPrinter & """")
与其修改原始的 Microsoft 文件,不如将文件复制到不同的文件夹,并在其中进行更改,运行 破解版本而不是 Microsoft 原始文件。