批处理打印

也可以通过NET PRINT命令从批处理脚本中控制打印。

语法

PRINT [/D:device] [[drive:][path]filename[...]]

其中,/D:device - 指定打印设备。

示例

print c:\example.txt /c /d:lpt1

上述命令将打印example.txt文件到并行端口lpt1

命令行打印机控制

从Windows 2000开始,可以使用PRINTUI.DLLRUNDLL32.EXE从Windows的命令行配置许多但不是全部的打印机设置

语法

RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry [ options ] [ @commandfile ]

有一些可用的选项是以下 -

  • /dl - 删除本地打印机。
  • /dn - 删除网络打印机连接。
  • /dd - 删除打印机驱动。
  • /e - 显示打印首选项。
  • /f[file] - inf文件或输出文件。
  • /F[file] - INF文件使用/f指定的INF文件的位置。
  • /ia - 使用inf文件安装打印机驱动程序。
  • /id - 使用添加打印机驱动程序向导安装打印机。
  • /if - 使用inf文件安装打印机。
  • /ii - 使用添加打印机向导与inf文件安装打印机。
  • /il - 用添加打印机向导安装打印机。
  • /ip - 使用网络打印机安装向导安装打印机。
  • /k - 将测试页打印到指定的打印机,安装打印机时不能与命令组合。
  • /l[path] - 打印机驱动程序源路径。
  • /m[model] - 打印机驱动程序型号名称。
  • /n[name] - 打印机名称。
  • /o - 显示打印机队列视图。
  • /p - 显示打印机属性。
  • /Ss - 将打印机设置存储到文件中。
  • /Sr - 从文件恢复打印机设置。
  • /y - 将打印机设置为默认值。
  • /Xg - 获取打印机设置。
  • /Xs - 设置打印机设置。

测试打印机是否存在

有些情况下,可能会连接到网络打印机而不是本地打印机。 在这种情况下,在打印之前首先检查打印机是否存在是很有必要的。

可以使用RUNDLL32.EXE PRINTUI.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来检查打印机是否存在。

上一篇:批处理网络设置

下一篇:批处理脚本调试

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程