首先,here's the WMI module I'm referring to。
我尝试过很多代码组合,并了解如何从命令行中删除带有wmic的网络打印机,以及如何在VB中删除wmi等网络打印机的基本知识,但我仍然可以'弄清楚如何在这个python模块中这样做。
有没有人有这方面的经验?我正在使用Eclipse中的PyDev进行测试,通常是在Windows 7机器上(该程序将与XP一起使用),但也在Windows 8上进行测试。
这是我尝试过的一些代码:
import wmi
c = wmi.WMI ()
c.win32_printer("\\\\server\\printer").delete
我收到以下错误:
wmi.x_wmi_invalid_query: <x_wmi: Unexpected COM Error (-2147217385, 'OLE error 0x80041017', None, None)>
答案 0 :(得分:0)
一位朋友(可能希望保持匿名)找到了解决方案!
for printer in c.win32_printer():
if printer.DEVICEID == "\\\\server\\printer":
printer.delete_()
由于某种原因,服务器名称(可能还有打印机名称)似乎区分大小写,因此请密切注意。我猜这是因为python是区分大小写的,它是通过python而不是WMI进行比较。