Windows 系统驱动备份和还原工具-代码

这是一键备份驱动和还原驱动脚本,装完系统快速还原驱动

原版

代码

@echo off
setlocal
:: 锁定当前目录到脚本所在文件夹
cd /d "%~dp0"
 
:: 检查是否已有管理员权限
net session >nul 2>&1
if %errorLevel% == 0 goto :RUN_TOOL
 
:: 如果没有权限,使用 PowerShell 进行提权,并保持目录一致
powershell -Command "Start-Process '%~f0' -Verb RunAs"
exit
 
:RUN_TOOL
set "DEST=%~dp0DriversBackup"
 
:MENU
cls
echo ==================================
echo      DRIVERS BACKUP TOOL
echo ==================================
echo Location: %~dp0
echo 1. Backup
echo 2. Restore
echo 3. Exit
echo ==================================
set /p OPT=Select (1-3):
 
if "%OPT%"=="1" goto DO_BACKUP
if "%OPT%"=="2" goto DO_RESTORE
if "%OPT%"=="3" exit
goto MENU
 
:DO_BACKUP
if not exist "%DEST%" mkdir "%DEST%"
echo Backing up...
pnputil /export-driver * "%DEST%"
echo Done. Press any key.
pause >nul
goto MENU
 
:DO_RESTORE
if not exist "%DEST%" (echo Folder not found. & pause & goto MENU)
echo Restoring...
pnputil /add-driver "%DEST%\*.inf" /subdirs /install
echo Done. Press any key.
pause >nul
goto MENU

中文改进版

保存提示:使用 Notepad++或 VS Code 等文本编辑器保存该文件时,请务必将其编码格式(Encoding)选择为 UTF-8(若无 BOM 选项即可)。

代码

@echo off
:: 设置代码页为 UTF-8,防止中文乱码和报错
chcp 65001 >nul
setlocal
:: 锁定当前目录到脚本所在文件夹
cd /d "%~dp0"

:: 检查是否已有管理员权限
net session >nul 2>&1
if %errorLevel% == 0 goto :RUN_TOOL

:: 如果没有权限,使用 PowerShell 进行提权,并保持目录一致
powershell -Command "Start-Process '%~f0' -Verb RunAs"
exit

:RUN_TOOL
set "DEST=%~dp0DriversBackup"

:MENU
cls
echo.
echo ========================================
echo.
echo           DRIVERS BACKUP TOOL
echo            驱动备份与还原工具
echo.
echo                玩家出品 整理
echo     https://www.wanjiachupin.com/352
echo.
echo ========================================
echo.
echo 当前路径: %~dp0
echo.
echo 1. 备份驱动 (Backup)
echo 2. 还原驱动 (Restore)
echo 3. 退出 (Exit)
echo.
echo ========================================
echo.
set /p OPT=请选择操作 (1-3): 

if "%OPT%"=="1" goto DO_BACKUP
if "%OPT%"=="2" goto DO_RESTORE
if "%OPT%"=="3" exit
goto MENU

:DO_BACKUP
if not exist "%DEST%" mkdir "%DEST%"
echo 正在备份驱动,请稍候...
echo Backing up...
pnputil /export-driver * "%DEST%"
echo 备份完成!按任意键返回菜单...
pause >nul
goto MENU

:DO_RESTORE
if not exist "%DEST%" (echo 错误:未找到备份文件夹。 & pause & goto MENU)
echo 正在还原驱动,请稍候...
echo Restoring...
pnputil /add-driver "%DEST%\*.inf" /subdirs /install
echo 还原完成!按任意键返回菜单...
pause >nul
goto MENU

V2 版,代码精简

@echo off
chcp 65001 >nul
cd /d "%~dp0"
set "DEST=%~dp0DriversBackup"

:: 自动管理员提权
net session >nul 2>&1 || (powershell -Command "Start-Process '%~f0' -Verb RunAs" & exit)

:MENU
cls
echo ========================================
echo         DRIVERS BACKUP TOOL
echo          驱动备份与还原工具
echo.
echo              玩家出品 整理
echo     https://www.wanjiachupin.com/352
echo ========================================
echo.
echo 1. 备份驱动 (Backup)
echo 2. 还原驱动 (Restore)
echo 3. 退出 (Exit)
echo.
choice /c 123 /n /m "请选择操作 [1-3]: "

if errorlevel 3 exit
if errorlevel 2 goto DO_RESTORE

:DO_BACKUP
if not exist "%DEST%" md "%DEST%"
echo. & echo 正在备份驱动,请稍候...
pnputil /export-driver * "%DEST%"
echo 备份完成!
pause
goto MENU

:DO_RESTORE
echo.
if not exist "%DEST%" (echo 错误:未找到 DriversBackup 备份文件夹! & pause & goto MENU)
echo 正在还原驱动,请稍候...
pnputil /add-driver "%DEST%\*.inf" /subdirs /install
echo 还原完成!
pause
goto MENU

使用方法

  • 选择:1 、备份驱动,会自动将本机设备驱动备份至 DriversBackup 文件夹
  • 选择:2 、还原驱动,会自动将同目录 DriversBackup 文件夹内驱动,恢复还原至本机设备
  • 选择:3 、退出驱动备份还原工具

代码

@echo off
chcp 65001 >nul
cd /d "%~dp0"
set "DEST=%~dp0DriversBackup"

:: 自动管理员提权
net session >nul 2>&1 || (powershell -Command "Start-Process '%~f0' -Verb RunAs" & exit)

:MENU
cls
echo ========================================
echo         DRIVERS BACKUP TOOL
echo          驱动备份与还原工具
echo.
echo              玩家出品 整理
echo     https://www.wanjiachupin.com/360
echo ========================================
echo.
echo 1. 备份驱动 (Backup)
echo 2. 还原驱动 (Restore)
echo 3. 退出 (Exit)
echo.
choice /c 123 /n /m "请选择操作 [1-3]: "

if errorlevel 3 exit
if errorlevel 2 goto DO_RESTORE

:DO_BACKUP
if not exist "%DEST%" md "%DEST%"
echo. & echo 正在备份驱动,请稍候...
pnputil /export-driver * "%DEST%"
echo 备份完成!
pause
goto MENU

:DO_RESTORE
echo.
if not exist "%DEST%" (echo 错误:未找到 DriversBackup 备份文件夹! & pause & goto MENU)
echo 正在还原驱动,请稍候...
pnputil /add-driver "%DEST%\*.inf" /subdirs /install
echo 还原完成!
pause
goto MENU

核心代码

pnputil /export-driver * "%DEST%"

pnputil /add-driver "%DEST%\*.inf" /subdirs /install

参考资料:

  • Windows11 驱动备份和还原,https://www.52pojie.cn/thread-2114007-1-8.html
上一篇 Krokiet/Czkawka-重复文件、空目录查找清理工具
下一篇 Ubuntu局域网络唤醒唤醒(WOL)其他主机‌