备份还原打印机驱动

以下脚本保存为:
打印机驱动备份-系统自带的打印管理工具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 未找到任何备份文件!
    pause
    goto MENU
)
 
echo.
set /p "SELECTION=请输入要恢复的文件序号(1-!COUNT!),或按0返回:"
 
if "%SELECTION%"=="0" goto MENU
if %SELECTION% gtr !COUNT! (
    echo 无效选择!
    pause
    goto RESTORE
)
 
rem 获取选中的文件路径
for /f "tokens=2 delims==" %%a in ('set BACKUP_FILES[%SELECTION%]') do set "BACKUP_FILE=%%a"
 
echo.
echo 正在恢复文件:!BACKUP_FILE!
echo.
pause
 
rem 执行恢复(关键修改:移除外部双引号)
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值