批处理脚本 - 设备管理

Windows 现在有一个改进的库,可在批处理脚本中使用,以处理连接到系统的设备。 这称为设备控制台 – DevCon.exe。

Windows 驱动程序开发人员和测试人员可以使用 DevCon 验证驱动程序是否已正确安装和配置,包括正确的 INF 文件、驱动程序堆栈、驱动程序文件和驱动程序包。 您还可以在脚本中使用 DevCon 命令(启用、禁用、安装、启动、停止和继续)来测试驱动程序。 DevCon是一个命令行工具,可以在本地计算机和远程计算机上执行设备管理功能。

显示驱动程序和设备信息 DevCon 可以显示本地计算机和远程计算机(运行 Windows XP 及更早版本)上的驱动程序和设备的以下属性 −

  • 硬件 ID、兼容 ID 和设备实例 ID。 这些标识符在设备标识字符串中进行了详细描述。

  • 设备设置类。

  • 设备设置类中的设备。

  • INF 文件和设备驱动程序文件。

  • 驱动程序包详细信息。

  • 硬件资源。

  • 设备状态。

  • 预期的驱动程序堆栈。

  • 驱动程序存储中的第三方驱动程序包。

  • 搜索设备 DevCon 可以按硬件 ID、设备实例 ID 或设备安装类搜索本地或远程计算机上已安装和已卸载的设备。

  • 更改设备设置 DevCon 可以通过以下方式更改本地计算机上即插即用 (PnP) 设备的状态或配置 −

    • 启用设备。

    • 禁用设备。

    • 更新驱动程序(交互式和非交互式)。

    • 安装设备(创建开发节点并安装软件)。

    • 从设备树中删除设备并删除其设备堆栈。

    • 重新扫描即插即用设备。

    • 添加、删除和重新排序根枚举设备的硬件 ID。

    • 更改设备设置类的上部和下部过滤器驱动程序。

    • 在驱动程序存储中添加和删除第三方驱动程序包。

安装适用于桌面应用的 WDK、Visual Studio 和 Windows SDK 时,会包含 DevCon (DevCon.exe)。 安装后,DevCon.exe 工具包可在以下位置找到。

%WindowsSdkDir%\tools\x64\devcon.exe
%WindowsSdkDir%\tools\x86\devcon.exe
%WindowsSdkDir%\tools\arm\devcon.exe

语法

devcon [/m:\\computer] [/r] command [arguments]

其中

  • /m:\\computer − 在指定的远程计算机上运行命令。 反斜杠是必需的。

  • /r − 有条件重启。 仅当需要重新启动才能使更改生效时,才会在完成操作后重新启动系统。

  • command − 指定 DevCon 命令。

  • 要列出并显示有关计算机上设备的信息,请使用以下命令 −

    • DevCon HwIDs

    • DevCon Classes

    • DevCon ListClass

    • DevCon DriverFiles

    • DevCon DriverNodes

    • DevCon Resources

    • DevCon Stack

    • DevCon Status

    • DevCon Dp_enum

  • 要搜索有关计算机上设备的信息,请使用以下命令 −

    • DevCon Find

    • DevCon FindAll

  • 要操作设备或更改其配置,请使用以下命令 −

    • DevCon Enable

    • DevCon Disable

    • DevCon Update

    • DevCon UpdateNI

    • DevCon Install

    • DevCon Remove

    • DevCon Rescan

    • DevCon Restart

    • DevCon Reboot

    • DevCon SetHwID

    • DevCon ClassFilter

    • DevCon Dp_add

    • DevCon Dp_delete

示例

以下是有关如何使用 DevCon 命令的一些示例。

List all driver files

以下命令使用 DevCon DriverFiles 操作列出系统上的设备使用的驱动程序的文件名。 该命令使用通配符 (*) 来指示系统上的所有设备。 由于输出很大,因此该命令使用重定向字符 (>) 将输出重定向到参考文件 driverfiles.txt。

devcon driverfiles * > driverfiles.txt

以下命令使用 DevCon 状态操作来查找本地计算机上所有设备的状态。 然后,它将状态保存在 status.txt 文件中以供记录或稍后查看。 该命令使用通配符 (*) 表示所有设备,并使用重定向字符 (>) 将输出重定向到 status.txt 文件。

devcon status * > status.txt

以下命令通过在 DevCon Enable 命令中指定打印机安装程序类来启用计算机上的所有打印机设备。 该命令包含/r参数,如果需要使使能生效,该参数将重新启动系统。

devcon /r enable = Printer

以下命令使用 DevCon 安装操作在本地计算机上安装键盘设备。 该命令包括设备的 INF 文件 (keyboard.inf) 的完整路径和硬件 ID (*PNP030b)。

devcon /r install c:\windows\inf\keyboard.inf *PNP030b

以下命令将扫描计算机中的新设备。

devcon scan

以下命令将重新扫描计算机以查找新设备。

devcon rescan