Skip to main content

Batch Script Device Console

Windows now has an improved library which can be used in Batch Script for working with devices attached to the system. This is known as the device console or DevCon.exe.

Device Console (DevCon)

DevCon (Devcon.exe), the Device Console, is a command-line tool that displays detailed information about devices on computers running Windows. You can use DevCon to enable, disable, install, configure, and remove devices.

note

DevCon (DevCon.exe) is included when you install the WDK, Visual Studio, and the Windows SDK for desktop apps. DevCon.exe kit is available in the following locations when installed.

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

What Can DevCon Do?

Windows driver developers and testers can use DevCon to verify that a driver is properly installed and configured, including INF files, driver stack, driver files, and driver package.

note

DevCon is a command-line tool that performs device management functions on local computers.

Devcon features include:

  • Display driver and device info DevCon can display the following properties of drivers and devices on local computers:
    • Hardware IDs, compatible IDs, and device instance IDs. These identifiers are described in detail in Device Identification Strings.
    • Device setup classes
    • The devices in a device setup class
    • INF files and device driver files
    • Details of driver packages
    • Hardware resources
    • Device status
    • Expected driver stack
    • Third-party driver packages in the driver store
  • Search for devices DevCon can search for devices on a local computer by hardware ID, device instance ID, or device setup class.
  • Change device settings DevCon can change the status or configuration of Plug and Play (PnP) devices on the local computer in the following ways:
    • Enable a device
    • Disable a device
    • Update drivers (interactive and noninteractive)
    • Install a device (create a devnode and install software)
    • Remove a device from the device tree and delete its device stack
    • Rescan for Plug and Play devices
    • Add, delete, and reorder the hardware IDs of root-enumerated devices
    • Change the upper and lower filter drivers for a device setup class
    • Add and delete third-party driver packages from the driver store
  • Restart the device or computer DevCon can restart a local device, reboot the local system on demand, or reboot the local system if required for another DevCon operation.

Syntax

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

where:

  • /m:\\computer runs the command on the specified remote computer. The backslashes are required.

  • /r conditional reboot. Reboots the system after completing an operation only if a reboot is required to make a change effective.

  • command specifies a DevCon command.

    • To list and display information about devices on the computer, use the following commands:

      • DevCon HwIDs
      • DevCon Classes
      • DevCon ListClass
      • `DevCon DriverFilesv
      • DevCon DriverNodes
      • DevCon Resources
      • DevCon Stack
      • DevCon Status
      • DevCon Dp_enum
    • To search for information about devices on the computer, use the following commands:

      • DevCon Find
      • DevCon FindAll
    • To manipulate the device or change its configuration, use the following commands:

      • DevCon Enable
      • DevCon Disable
      • DevCon Update
      • DevCon UpdateNI
      • DevCon Install
      • `DevCon Removev
      • DevCon Rescan
      • DevCon Restart
      • DevCon Reboot
      • DevCon SetHwID
      • DevCon ClassFilter
      • DevCon Dp_add
      • DevCon Dp_delete

Examples

Following are some examples on how the DevCon command is used.

The following command uses the DevCon DriverFiles operation to list the names of driver files used by devices on the system. The command uses the wildcard character (*) to indicate all the devices in the system. Because the output is extensive, the command uses the redirect character (>) to redirect the output to a reference file, driverfiles.txt.

devcon driverfiles * > driverfiles.txt

The following command uses the DevCon status operation to find the status of all devices on the local computer. It then saves the status in the status.txt file for logging or later review. The command uses the wildcard character (*) to represent all devices and the redirect character (>) to redirect the output to the status.txt file.

devcon status * > status.txt

The following command enables all printing devices on the computer by specifying the Printer setting class in a DevCon Enable command. The command includes the parameter /r, which restarts the system if it is needed to make the enablement effective.

devcon /r enable = Printer

The following command uses the DevCon Install operation to install a keyboard device on the local computer. The command includes the full path to the INF file for the device (keyboard.inf) and a hardware ID (*PNP030b).

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

The following command will scan the computer for new devices.

devcon scan

The following command will rescan the computer for new devices.

devcon rescan