批处理脚本 - 打印
还可以通过 NET PRINT 命令从批处理脚本中控制打印。
语法
PRINT [/D:device] [[drive:][path]filename[...]]
其中 /D:device - 指定打印设备。
示例
print c:\example.txt /c /d:lpt1
上述命令会将 example.txt 文件打印到并行端口 lpt1。
命令行打印机控制
从 Windows 2000 开始,可以使用 PRINTUI.DLL 和 RUNDLL32.EXE 从 Windows 命令行配置许多(但不是全部)打印机设置
语法
RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry [ options ] [ @commandfile ]
其中一些可用选项如下 −
/dl − 删除本地打印机。
/dn − 删除网络打印机连接。
/dd − 删除打印机驱动程序。
/e − 显示打印首选项。
/f[file] − inf 文件或输出文件。
/F[file] − /f 指定的 INF 文件可能依赖的 INF 文件的位置。
/ia − 使用inf文件安装打印机驱动程序。
/id − 使用添加打印机驱动程序向导安装打印机驱动程序。
/if − 使用inf文件安装打印机。
/ii − 使用添加打印机向导和 inf 文件安装打印机。
/il − 使用添加打印机向导安装打印机。
/in − 添加网络打印机连接。
/ip − 使用网络打印机安装向导安装打印机。
/k − 打印测试页到指定打印机,安装打印机时不能与命令结合使用。
/l[路径] − 打印机驱动程序源路径。
/m[型号] − 打印机驱动程序型号名称。
/n[名称] − 打印机名称。
/o − 显示打印机队列视图。
/p − 显示打印机属性。
/Ss − 将打印机设置存储到文件中。
/Sr − 从文件恢复打印机设置。
/y − 将打印机设置为默认打印机。
/Xg − 获取打印机设置。
/Xs − 设置打印机设置。
测试打印机是否存在
在某些情况下,您可能连接到网络打印机而不是本地打印机。 在这种情况下,在打印之前首先检查打印机是否存在总是有益的。
可以借助 RUNDLL32.EXE PRINTUI.DLL 来评估打印机的存在,该DLL 用于控制大多数打印机设置。
示例
SET PrinterName = Test Printer SET file=%TEMP%\Prt.txt RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry /Xg /n "%PrinterName%" /f "%file%" /q IF EXIST "%file%" ( ECHO %PrinterName% printer exists ) ELSE ( ECHO %PrinterName% printer does NOT exists )
上面的命令将执行以下操作 −
它将首先设置打印机名称并设置一个保存打印机设置的文件名。
RUNDLL32.EXE PRINTUI.DLL 命令将用于通过将文件的配置设置发送到文件 Prt.txt 来检查打印机是否实际存在