批處理打印

也可以通過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來檢查打印機是否存在。