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