如何使用 BATCH 腳本在 Windows 上透過 IP 新增印表機

如何使用 BATCH 腳本在 Windows 上透過 IP 新增印表機

我希望能夠建立一個 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 檔案並運行它即可。

相關內容