备份还原打印机驱动
以下脚本保存为:
打印机驱动备份-系统自带的打印管理工具PrintBrmBackupRestore.bat编码ANSI,主打一个傻瓜化
@echo off
setlocal enabledelayedexpansion:: 获取脚本所在目录(不含末尾反斜杠)
for %%I in ("%~dp0.") do set "SCRIPT_DIR=%%~fI":: 设置日期格式为YYYY-MM-DD_HH-MM-SS
for /f "tokens=2 delims==" %%a in ('wmic OS get LocalDateTime /value') do set "dt=%%a"
set "BACKUP_DATE=!dt:~0,4!-!dt:~4,2!-!dt:~6,2!_!dt:~8,2!-!dt:~10,2!-!dt:~12,2!":MENU
cls
echo =================== 打印机驱动管理工具 BY:52pojie MR.WOO==================
echo 请选择操作:
echo 1. 备份打印机驱动
echo 2. 恢复打印机驱动
echo 3. 执行官方UI界面(PrintBrmUi.exe)
echo 4. 退出程序
echo =================================================================
set /p "choice=请输入选项(1-4):"if "%choice%"=="1" goto BACKUP
if "%choice%"=="2" goto RESTORE
if "%choice%"=="3" goto UI
if "%choice%"=="4" goto EXIT
echo 无效输入!请重新选择。
pause
goto MENU:BACKUP
cls
echo ---------------------- 开始备份打印机驱动 ----------------------
set "BACKUP_FILE=!SCRIPT_DIR!\printer_backup_!BACKUP_DATE!.printerExport"rem 确保路径中不包含双引号
set "BACKUP_FILE=!BACKUP_FILE:"=!"rem 执行备份(关键修改:移除外部双引号)
C:\Windows\System32\spool\tools\PrintBrm.exe /B /F !BACKUP_FILE!if %errorlevel% equ 0 (echo 备份成功!文件保存至:echo !BACKUP_FILE!
) else (echo 备份失败!错误代码:%errorlevel%echo 可能原因:权限不足、磁盘空间不足或系统不兼容。
)
pause
goto MENU:RESTORE
cls
echo ---------------------- 开始恢复打印机驱动 ----------------------
echo 正在搜索可用的备份文件...
echo.set "COUNT=0"
set "BACKUP_FILES="rem 搜索当前目录下所有.printerExport文件
for %%f in ("!SCRIPT_DIR!\*.printerExport") do (set /a "COUNT+=1"set "BACKUP_FILES[!COUNT!]=%%f"echo [!COUNT!] %%~nxf
)if !COUNT! equ 0 (echo 未找到任何备份文件!pausegoto MENU
)echo.
set /p "SELECTION=请输入要恢复的文件序号(1-!COUNT!),或按0返回:"if "%SELECTION%"=="0" goto MENU
if %SELECTION% gtr !COUNT! (echo 无效选择!pausegoto RESTORE
)rem 获取选中的文件路径
for /f "tokens=2 delims==" %%a in ('set BACKUP_FILES[%SELECTION%]') do set "BACKUP_FILE=%%a"echo.
echo 正在恢复文件:!BACKUP_FILE!
echo.
pauserem 执行恢复(关键修改:移除外部双引号)
C:\Windows\System32\spool\tools\PrintBrm.exe /R /F !BACKUP_FILE!if %errorlevel% equ 0 (echo 恢复成功!请重启电脑使驱动生效。
) else (echo 恢复失败!错误代码:%errorlevel%echo 可能原因:备份文件损坏、权限不足或系统不兼容。
)
pause
goto MENU:UI
cls
echo ---------------------- 启动官方备份工具 ----------------------
start "" "C:\Windows\System32\PrintBrmUi.exe"
goto MENU:EXIT
cls
echo ---------------------- 退出程序 ----------------------
echo 感谢使用!
pause
endlocal
exit