也可以通过NET PRINT命令在批处理脚本中控制打印.
语法
PRINT [/D:device] [[drive:][path]filename[...]]
其中/D:设备 - 指定打印设备.
示例
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] : INF文件指定的INF文件的位置可能取决于.
/ia : 使用inf文件安装打印机驱动程序.
/id : 使用添加打印机驱动程序向导安装打印机驱动程序.
/if : 使用inf文件安装打印机.
/ii : 使用添加打印机向导和inf文件安装打印机.
/il : 使用添加打印机向导安装打印机.
/in : 添加网络打印机连接.
/ip : 使用网络打印机安装向导安装打印机.
/k : 将测试页打印到指定的打印机,在安装打印机时不能与命令结合使用.
/l [path] : 打印机驱动程序源路径.
/m [model] : 打印机驱动程序型号名称.
/n [name] : 打印机名称.
/o : 显示打印机队列视图.
/p : 显示打印机属性.
/Ss : 将打印机设置存储到文件中.
/Sr : 从文件恢复打印机设置.
/y : 将打印机设置为默认值.
/Xg : 获取打印机设置.
/Xs : 设置打印机设置.
测试打印机是否存在
可能存在以下情况:连接到网络打印机而不是本地打印机.在这种情况下,在打印之前首先检查打印机是否存在总是有益的.
可以在RUNDLL32.EXE PRINTUI的帮助下评估是否存在打印机. DLL用于控制大多数打印机设置.
示例
SET PrinterName = Test PrinterSET file=%TEMP%\Prt.txtRUNDLL32.EXE PRINTUI.DLL,PrintUIEntry /Xg /n "%PrinterName%" /f "%file%" /qIF EXIST "%file%" ( ECHO %PrinterName% printer exists) ELSE ( ECHO %PrinterName% printer does NOT exists)
以上命令将执行以下操作 :
它将会首先设置打印机名称并设置一个文件名,该文件名将保存打印机的设置.
将使用RUNDLL32.EXE PRINTUI.DLL命令检查如果打印机实际存在,则通过将文件的配置设置发送到t他提交了Prt.txt