我正在用Windows SP3从机器上自动删除USB打印机。为此,我使用了微软的德康实用程序。
运行命令:
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命令将删除硬件。
这个问题来自我使用devcon管道查找,以确定设备是否已插入,以便能够自动配置。如果我不能删除它,它将被我的脚本检测到,即使它没有插入。
我已经用多个USB打印机和一个USB鼠标测试了这一点,它们都表现出了相同的行为,这让我相信这是Devcon的正常行为。
有解决办法吗?如何删除不再连接的硬件条目?
发布于 2012-01-27 20:44:20
Devcon 不可能删除当前未连接的硬件。这是故意的行为。我应该更好地阅读文件的。
findall命令搜索所有连接或未连接的硬件。我应该使用find命令,它只搜索当前连接的硬件。
发布于 2016-03-24 17:58:04
德文可以并将删除不存在的硬件,正如GregL提到的。
必须正确地格式化字符串。
以下批处理文件将基于输入字符串匹配所有设备并删除它们:
for /f %%i in ('devcon findall *%1*') do (devcon remove "@%%i")发布于 2021-04-02 19:30:17
在devcon中添加了一个removeall命令。devcon是Windows驱动程序工具包( WDK )的一部分,但是我没有在WDK中的可执行文件中找到新的removeall命令。我认为您必须从源代码构建它;这就是我所做的。说明在这里:从源头构建devcon
它包括安装Visual、Windows、WDK,然后从git存储库下载最新的示例。我发现我需要手工执行"MC msgs.mc“来使构建工作。
https://serverfault.com/questions/354277
复制相似问题