One Click to Backup All device Driver Step 1: OPEN NOTE - TopicsExpress



          

One Click to Backup All device Driver Step 1: OPEN NOTE PAD Step 2:Copy and Past Below @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 Microsofts DEVCON utility. SET /P Download=Do you want to download it now? [y/N] ) :: Start download if requested IF /I %Download%==Y ( START DevCon support.microsoft/default.aspx?scid=kb;EN-US;Q311272 ECHO. ECHO Install the downloaded files 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 :: Initialize variables SET Log=Drivers\%~n0.log SET TmpFile=%Temp:=%.\_DevCon.dat SET Counter=0 SET Error=0 :: Create backup root directory IF NOT EXIST Drivers\ MD Drivers :: Remove old log file if it exists IF EXIST %Log% DEL %Log% :: Display welcome message CLS ECHO Gathering info, please wait... ECHO. :: Choose between all devices or just the active ones IF /I %~1==/A (SET FindDev=FindAll) ELSE (SET FindDev=Find) :: Find all drivers, including inactive ones, and start backup subroutine for each one FOR /F tokens=1* delims=: %%A IN (DEVCON %FindDev% * ^| FIND \) DO CALL :Driver @%%A %%B :: Display summary ECHO. ECHO Backupped driver files for %Counter% devices :: Log summary >> %Log% ECHO. >> %Log% ECHO Backupped driver files for %Counter% devices :: Display warning message if copy errors were encountered IF %Error% GTR 0 ( ECHO. IF %Error% EQU 1 ( ECHO An error was encountered while copying, ) ELSE ( ECHO %Error% errors were encountered while copying, ) ECHO Please check the log file %Log% ) :: Done ENDLOCAL GOTO End :: :: :: :: :: Backup subroutine :: :: :: :: :: :Driver :: Drivers without description ususally have no driver files :: defined, so abort if no description is available IF %~2== GOTO:EOF :: Remove old temporay file IF EXIST %TmpFile% DEL %TmpFile% :: Store DEVCON info in a temporary file to speed up processing DEVCON DriverFiles %1 > %TmpFile% 2>NUL :: Exit subroutine if there are no files to backup TYPE %TmpFile% | FIND :\ >NUL IF ERRORLEVEL 1 GOTO:EOF :: Use variables that are local to the subroutine SETLOCAL :: On the first call to the subroutine, clear the screen IF %Counter% EQU 0 CLS :: Display and log which device is being processed ECHO Backing up driver for %~2 >> %Log% ECHO Backing up driver for %~2 :: Escape the device name, so it can be used as a directory name SET Name=%~2 SET Name=%Name:/=_% SET Name=%Name::=_% SET Name=%Name:;=_% SET Name=%Name:,=_% SET Name=%Name:(=[% SET Name=%Name:)=]% SET Name=%Name:&=_and_% SET Name=%Name:=% :: Extract the class name from the device ID FOR /F tokens=1 delims=\ %%K IN (TYPE %TmpFile% ^| FIND \ ^| FIND /V :) DO SET Class=%%K :: Extract the INF file name FOR /F tokens=1 delims=[ %%K IN (TYPE %TmpFile% ^| FIND /I Driver installed from) DO SET Inf=%%~K IF DEFINED Inf FOR /F tokens=3* delims= %%K IN (ECHO.%Inf%) DO SET Inf=%%L :: Backup the INF file, and log and count any errors IF DEFINED Inf ( XCOPY %Inf:~0,-1% Drivers\%Class%\%Name%\*.* /H /R /D >NUL 2>>%Log% IF ERRORLEVEL 1 SET /A Error = %Error% + 1 ) :: Backup the driver files, and log and count any errors FOR /F tokens=* delims= %%K IN (TYPE %TmpFile% ^| FIND :\ ^| FIND /I /V Driver installed from) DO ( XCOPY %%~K Drivers\%Class%\%Name%\*.* /H /R /D >NUL 2>>%Log% IF ERRORLEVEL 1 SET /A Error = %Error% + 1 ) :: Increment the device counter SET /A Counter = %Counter% + 1 :: Clean up IF EXIST %TmpFile% DEL %TmpFile% :: Exit the subroutine, dropping all local variables except the counters ENDLOCAL & (SET Counter=%Counter%) & (SET Error=%Error%) GOTO:EOF :Syntax ECHO. ECHO BkAllDrv.bat, Version 1.06 for Windows 2000 / XP ECHO Backup all Windows device drivers, optionally including even inactive ones ECHO. ECHO Usage: BKALLDRV [ /A ] ECHO. ECHO Where: /A forces backup of drivers for both active and inactive devices ECHO (default is active devices only) ECHO. ECHO Notes: [1] This batch file requires Microsofts DEVCON.EXE, available at ECHO support.microsoft/default.aspx?scid=kb;EN-US;Q311272 ECHO You will be prompted for download if it isnt found. ECHO [2] Drivers will be backupped in a directory named Drivers, located in ECHO the current directory. ECHO [3] Devices with duplicate names will overwrite each others files. ECHO [4] If errors are encountered you will be prompted to check a log file. ECHO [5] This batch file is much slower than its Perl or Rexx equivalents. ECHO. ECHO Written by Rob van der Woude ECHO robvanderwoude :End IF %OS%==Windows_NT ENDLOCAL step 4: Save Above File anyname.bat step 5:Run that File
Posted on: Fri, 24 Jan 2014 14:24:02 +0000

Trending Topics



Recently Viewed Topics




© 2015