Windows 10 系统自带 打印管理 导出 导入所有打印机驱动 或者 批处理

发布时间 2023-06-19 18:36:00作者: suv789

Windows打印管理的版本年代和功能更新如下:

Windows XP:拥有一个简单版的打印机管理工具,可以用于添加和删除本地打印机。
Windows Vista / 7 / 8 / 8.1:在XP的基础上增加了更多高级管理功能,如共享打印机、设置默认打印机、监控打印队列、设置打印机安全权限等。
Windows 10:在Vista/7/8/8.1的基础上进一步升级,增加了一些新功能,如云打印、安装和管理打印机驱动、设置自定义打印优先级、支持Wi-Fi Direct打印等。

编写批处理脚本,实现将Windows 10系统中所有打印机的驱动导出:

@echo off
set EXPORT_PATH=C:\PrinterDrivers

if not exist %EXPORT_PATH% (
mkdir %EXPORT_PATH%
)

for /f "tokens=2 delims==" %%a in ('wmic printer get drivername /value ^| findstr "DriverName"') do (
echo Exporting %%a...
rundll32 printui.dll,PrintUIEntry /e /q /m "%%a" /h "x64" /f "%EXPORT_PATH%%%a.inf"
)

echo All printer drivers have been exported to %EXPORT_PATH%.
在这个脚本中,首先设置了一个变量EXPORT_PATH,用于指定导出文件的保存路径。然后通过for命令遍历系统中所有的打印机驱动,并利用rundll32命令和PrintUIEntry函数将每个驱动导出到指定路径下的.inf文件中。最后输出完成信息。

注意,该脚本需要在管理员权限下运行,否则可能会出现权限不足的错误。


使用以下代码编写批处理脚本,实现将之前导出的所有打印机驱动批量导入到Windows 10系统中:

@echo off
set IMPORT_PATH=C:\PrinterDrivers

for %%f in (%IMPORT_PATH%*.inf) do (
echo Installing driver %%~nxf...
rundll32 printui.dll,PrintUIEntry /ia /c\%COMPUTERNAME% /m "%%~nxf" /h "x64" /v 3 /f "%%f"
)

echo All printer drivers have been imported from %IMPORT_PATH%.
在这个脚本中,首先设置了一个变量IMPORT_PATH,用于指定导入文件所在的路径。然后通过for命令遍历该路径下所有的.inf文件,并利用rundll32命令和PrintUIEntry函数逐个安装打印机驱动到系统中。最后输出完成信息。

注意,该脚本需要在管理员权限下运行,否则可能会出现权限不足的错误。