我正在使用Windows XP SP3自动从机器上删除USB打印机。 为此,我使用微软的Devcon Utility。
运行命令:
devcon findall *hp*
返回:
USBPRINT\HEWLETT-PACKARDHP_LASERJET_PROFESSIONAL_P1606DN\7&8885729&0&USB001: HP LaserJet Professional P1606dn 1 matching device(s) found.
运行命令:
devcon remove *USBPRINT*
返回:
No devices removed.
我尝试了硬件ID和通配符的多个组合,没有运气。 将设备插入计算机并运行上面提到的remove命令将删除硬件。
这个问题来自我使用devconpipe道来查找,以确定是否插入设备,以便它可以自动configuration。 如果我不能删除它,即使没有插入,脚本也会被我的脚本检测到。
我已经用多个USB打印机和一个USB鼠标testing过了,它们都performance出相同的行为,这使我相信这对Devcon来说是正常的行为。
有没有解决方法? 如何删除不再连接的硬件条目?
Devcon工作。 你只需要确保你的操作系统的目标是devcon的正确版本。
看看这个链接http://freneticrapport.blogspot.com/2011/05/windows-hiddennot-connected-device.html 。
为了为您的操作系统安装正确的devcon版本:
build -ceZ
然后您可以使用以下命令删除设备:
devcon remove "@PCI\VEN_1000&DEV_0060&SUBSYS_1F0C1028&REV_04\4&10333E29&0&0030"
请注意引号和@符号,因为这些是需要删除隐藏的设备的。
这是不可能的。 Devcon 无法删除当前未连接的硬件。 这是打算的行为。 我应该更好地阅读文档。
findall
命令search所有硬件,连接与否。 我应该一直在使用find
命令,它只search当前连接的硬件。
devon可以并将删除GregL提到的非现有硬件。
该string必须正确形成。
以下batch file将匹配基于inputstring的所有设备并将其删除:
for /f %%i in ('devcon findall *%1*') do (devcon remove "@%%i")