批次處理列印


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