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