网站首页 说明书大全 范文大全 知识大全 实用查询
首页 > 知识大全 > 电脑知识 >

驱动程序备份怎么使用(备份驱动正确安装方法)

在重新安装Windows操作系统时,原来安装的驱动程序如果可以备份下来,装完系统后就可以非常方便的通过设备管理器把未被识别的设备驱动安装上。如果通过第三方软件,很容易被安装垃圾软件,可以通过脚本实现。

此脚本支持32位和64位Windows,脚本所在目录下的x86(32位)和x64(64位)目录存放备份出来的驱动程序。

脚本如下:

@echo off

cls

:: 获得管理员权限的批命令

:--------------------------------------------------------------------------------

REM --> 检查权限

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> 如果设置了错误标志,表明没有管理员权限。

if '%errorlevel%' NEQ '0' (

echo 正在请求管理员权限...

goto UACPrompt

) else ( goto gotAdmin )

:UACPrompt

echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"

echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"

exit /B

:gotAdmin

if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

pushd "%CD%"

CD /D "%~dp0"

:-----------------------------------------------------------------------------

if "%PROCESSOR_ARCHITECTURE%" == "x86" (

set OS_TP=x86

) else (

set OS_TP=x64

)

echo 正在备份第三方驱动程序,请稍候...

echo.

setlocal enabledelayedexpansion

set WINDRV=%windir%\System32\DriverStore\FileRepository

Dism /Online /Get-Drivers /Format:Table|findstr /I ".inf">tmp0.txt

@echo off>tmp1.txt

for /f "tokens=4,2 delims=^| " %%i in (tmp0.txt) do (

echo %%j,%%i>>tmp1.txt

)

sort tmp1.txt>tmp2.txt

if exist %~dp0%OS_TP% rmdir /S /Q %~dp0%OS_TP%

for /f "delims=," %%i in (tmp2.txt) do (

if not defined %%i set %%i=A & mkdir %~dp0%OS_TP%\%%i

)

for /f "tokens=2,1 delims=," %%i in (tmp2.txt) do (

set SOURCE_DRV=%%j

for /f "delims=" %%l in ('dir /b "!WINDRV!\!SOURCE_DRV!*"') do (

set COPYDIR=%WINDRV%\%SOURCE_DRV%\%%l

::显示进度条

set /p=^><nul

xcopy /herky /Q !COPYDIR! %~dp0%OS_TP%\%%i\%%l\>nul

)

)

if exist tmp0.txt del /Q tmp0.txt

if exist tmp1.txt del /Q tmp1.txt

if exist tmp2.txt del /Q tmp2.txt

timeout -t 5

exit

相关文章