User:Jestermeister/Seed/devcon

DEVice CONsole
Devcon in short will be: Device management on the command-line.

It is a Microsoft tool offered free of charge to the public. This site here provides some scripts making use of Devcon. Some of the scripts that are provided include Backing up of Drivers, Listing all installed printers and printer ports, List all Drivers and Check if a HP Deskjet Printer is installed.

The following is one of the scripts provided from the website. It can be run as a batch file (.bat). The objective of this script will be to list out all printers and printer ports in the system.



@ECHO OFF
 * Check Windows version

IF "%OS%"=="Windows_NT" (SETLOCAL) ELSE (GOTO Syntax) VER | FIND "Windows NT" >NUL && GOTO Syntax


 * Check command line arguments

IF NOT "%~1"=="" IF /I NOT "%~1"=="/A" GOTO Syntax


 * Check if DEVCON.EXE is available and if not, offer to download it

SET DevconAvailable= SET Download= DEVCON.EXE /? >NUL 2>&1 IF ERRORLEVEL 1 (	SET DevconAvailable=No	ECHO This batch file requires Microsoft's DEVCON untility.	SET /P Download=Do you want to download it now? [y/N] )


 * Start download if requested

IF /I "%Download%"=="Y" (	START "DevCon" "http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q311272"	ECHO.	ECHO Install the downloaded file and make sure DEVCON.EXE is in the PATH.	ECHO Then try again. )


 * Abort if DEVCON.EXE is not available yet

IF "%DevconAvailable%"=="No" GOTO End


 * List header

ECHO Printer name:	Port:


 * List all printers

FOR /F "tokens=1* delims=: " %%A IN ('DEVCON.EXE FindAll ^=Printer ^| FIND.EXE ":"') DO CALL :ShowPrn "%%~A" "%%~B"

ENDLOCAL GOTO:EOF


 * ShowPrn

SETLOCAL SET HwID="%~1" SET HwID=%HwID:&= % SET HwID=%HwID:"= % FOR %%X IN (%HwID%) DO SET Port=%%X FOR /F "tokens=1 delims=:." %%X IN ('ECHO.%Port%') DO SET Port=%%X SET Name=%~2 ECHO %Name%	%Port% ENDLOCAL GOTO:EOF


 * Syntax

ECHO. ECHO ShowPRNT.bat, Version 1.00 for Windows 2000 / XP ECHO Use DEVCON to list installed printers and their ports in tab delimited format ECHO. ECHO Usage: SHOWPRNT ECHO. ECHO Notes: [1] This batch file requires Microsoft's DEVCON.EXE, available at ECHO             http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q311272 ECHO            You will be prompted for download if it isn't found. ECHO        [2] Both active and inactive printers are shown. ECHO        [3] Contrary to its VBScript counterpart, this batch file only lists ECHO            "physical" printers. ECHO        [3] This batch file's VBScript counterpart also lists driver names, ECHO            server and share names. ECHO. ECHO Written by Rob van der Woude ECHO http://www.robvanderwoude.com