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.
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.
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