我希望能夠建立一個 BATCH 腳本,該腳本將使用 TCP/IP 連接埠在本機上新增印表機。我假設所需的參數是印表機名稱、驅動程式位置 (.inf)、IP 位址和電腦名稱。
有人能幫忙嗎?
答案1
您可以透過幾次呼叫 printui 來完成此操作 -請參閱此頁面以了解更多信息。聽起來你想打電話
rundll32 printui.dll,PrintUIEntry /ga
雖然我不確定如何透過網路上的 INF 檔案指定印表機。
幾年前,我編寫了一個透過網路安裝印表機的腳本。此腳本旨在與透過 samba 共用的印表機一起使用,因此您無需指定驅動程式。如果您嘗試添加不以這種方式共享的印表機,我不確定這是否有效。也許您可以以此為起點來弄清楚如何做到這一點。
@echo off
::
::This script adds a single printer to the default user profile.
::NOTE: Printer names with spaces will NOT be accepted.
::Usage: run addprinters and follow onscreen directions
cls
echo This script adds the specified local or network printer
echo to the deafult account for all existing/new users.
echo *IMPORTATNT* Printer names with spaces will NOT be accepted.
echo *******************************************************
SET /P target=Enter target computer name (this compupter)
SET /P printer=Enter Printserver/Printername (do not include \\)
echo Attempting to add %printer% for all users on %target%
rundll32 printui.dll,PrintUIEntry /ga /c\\%target% /n\\%printer%
echo New printers will NOT appear until spooler is restarted.
SET /P reset=Reset print spooler Y/N?
if "%reset%"=="y" goto spooly
goto end
:spooly
start /wait sc \\%target% stop spooler
start /wait sc \\%target% start spooler
echo Print Spooler Service restarted.
:end
如果您想嘗試一下,只需將此文字儲存到 .cmd 檔案並運行它即可。