iT邦幫忙

0

bat安裝印表機 win7

第一種
@echo off
set p_ip=10.30.0.7
// 要連接印表機用的ip
set p_name2="Alice"
// 機器顯示的名稱...可自訂

if "%PROCESSOR_ARCHITECTURE%" == "x86" goto x86
if "%PROCESSOR_ARCHITECTURE%" == "AMD64" goto x64
// 針對win7有32跟64位元的判斷

:x86
echo "x86"
set p_driver=".\F:\HP LaserJet 5200\PCL6\hpc520xc.inf"
set p_name="HP LaserJet 5200 PCL 6"
// driver放在同目錄下,路徑用.\來作相對路徑
goto pnew

:x64
echo "x64"
set p_driver=".\F:\HP LaserJet 5200\PCL6\hpc520xc.inf"
set p_name="HP LaserJet 5200 PCL 6"
goto pnew

:pnew
Cscript prnportc.vbs -a -r IP_%p_ip% -h %p_ip% -o raw -n 9100
// 新增ip連接阜,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%p_ip% /f %p_driver% /b %p_name%_%p_name2% /m %p_name%
// 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)

echo 列表機安裝完成...請按任意鍵結束..
pause

第二種
%windir%\system32\cscript.exe %windir%\system32\prnport.vbs -a -r IP_04 -h 10.30.2.3 -o raw > NUL

rundll32 printui.dll,PrintUIEntry /if /b "hp" /f hpc5550c.INF /r "IP_04" /m "HP Color LaserJet 5550 PCL 6"

rundll32 printui.dll,PrintUIEntry /y /n "hp"

目前寫這兩種都會出現問題,兩者的驅動都是放在隨身碟f的第一目錄下f:\因工作需求常會安裝網路印表機,所以想寫個批次來將檔案放置在隨身碟,大量的驅動種類,需要哪種僅需改IP即可,大多都是使用WIN7 32 or 64 目前主公司是有printer server所以比較好撰寫bat,但分公司無架設print server所以需要撰寫可在隨身碟上帶著走的bat,請各位高手指教或是有其他方法可以分享給我,感激不盡~

看更多先前的討論...收起先前的討論...
s355100 iT邦新手 5 級 ‧ 2017-09-27 14:43:04 檢舉
另外想請問下,我有爬文過它們很多需要.inf檔但我驅動下載下來有很多個inf檔到底要用哪種?!
之前也有弄過 針對 canon 的機器就是沒辦法用,不清楚哪裡出問題
請服用 http://www.ithome.com.tw/node/51336
因你說有 PRINT SERVER ,照理說 PRINT SERVER 應該會有自己的印表機驅動才對
但你這邊寫的是建立本機端口再本機再裝一次驅動,來產生網路印表機
基本上除非,本機跟遠端的OS版本差異很大,例如遠端是XP,本機是 WIN10這種的
才需要建立本機端口,不然,使用遠端驅動即可
還有照你的寫法,個人可以認定應該是沒有集中管理的 PRINT SERVER
假如是這種情形,跟新增印表機的流程是一樣的
https://cheaster.blogspot.tw/2012/08/batchtcpip.html 請服用,看你的做法似乎不合流程啊
另外,你上面那個驅動,HP 只要是 64位元的驅動都叫做 HP 通用列印驅動,他適用於 32位元在 64環境下列印不正常的時候使用,假如你用 32 可以正常列印,就不需要去找 HP通用列印驅動在 64的環境下使用了
另外就是某些電腦速度慢,建立完TCPIP端口還要重新啟動 SPOOLER 服務才行,建議上驅動前先做這個
上完驅動再做一次,不然,可能也會有奇怪的問題
s355100 iT邦新手 5 級 ‧ 2017-09-28 11:44:30 檢舉
感謝大大窮大我試看看狐狸大的運行方法
s355100 iT邦新手 5 級 ‧ 2017-09-28 14:37:41 檢舉
狐狸大的這隻批次不太清楚哪邊要做修改
@echo off
rem "Printer Automation"
rem "Created by Vidyadhar"
rem "Mapping the network drive"
cd \
net use v: /DELETE
net use v: \\192.168.1.2\printer\

rem "Creating TCP/IP port"
cd \
cscript %windir%\system32\prnport.vbs -d -r IP_192.168.1.10
cscript %windir%\system32\prnport.vbs -a -r IP_192.168.1.10 -o raw -n 9100 -h 192.168.1.10

rem "Installing Printer's Driver"
cscript %windir%\system32\prndrvr.vbs -a -m "HP LaserJet P2015 Series PCL 6" -h "V:\\2015\\" -i "V:\\2015\\hppcp604.inf"

rem "Installing Printer"
cscript %windir%\system32\prnmngr.vbs -a -p "HP_Printer" -m "HP LaserJet P2015 Series PCL 6" -r "IP_192.168.1.10"

rem "Making it Default printer"
cscript %windir%\system32\prnmngr.vbs -p "HP_Printer" -t

rem "Deleting mapped drive"
net use v: /DELETE

能告訴我需要修改注意的部分麻!?
s355100 iT邦新手 5 級 ‧ 2017-09-28 15:10:23 檢舉
cscript %windir%\system32\prnport.vbs c碟下找不到prnport.vbs路徑錯誤也搜尋不到
s355100 iT邦新手 5 級 ‧ 2017-09-28 16:28:53 檢舉
目前我用其他種方法重新撰寫就差臨門一腳了~cmd在安裝inf印表機驅動都會出現錯誤,用cmd安裝驅動正確的指令是如何請指教!!
s355100 iT邦新手 5 級 ‧ 2017-09-28 17:09:07 檢舉
rundll32 printui.dll,PrintUIEntry /if /b "my HP_Color_LaserJET-5550" /f hpc5550c.INF /r "IP_11" /m "HP Color LaserJet 5550 PCL 6"將此批次檔放和驅動放置再一起卻還是無法執行,會出現錯誤
因為你的 /f 沒有給完整路徑 你放在F隨身碟就要用 F:\ xxx 去找你的inf檔案位置

1 個回答

0
seeyounow
iT邦新手 5 級 ‧ 2017-09-27 16:13:16

64位元是這樣
set ip="10.30.0.7"
set p_name2="Alice"
set driver="%~dp0\hpc5550c.INF"
set name="HP Color LaserJet 5550 PCL 6"
%windir%\SysWOW64\cscript.exe %windir%\SysWOW64\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r %ip% -h %ip% -o raw -n 9100
rundll32 printui.dll,PrintUIEntry /if /b %p_name2% /f %driver% /r %ip% /m %name%

差別在於system32和SysWOW64

看更多先前的回應...收起先前的回應...
s355100 iT邦新手 5 級 ‧ 2017-09-27 16:26:56 檢舉

都會出現0x800f014無法使用~我bat和驅動都放同個目錄裡

seeyounow iT邦新手 5 級 ‧ 2017-09-27 16:36:12 檢舉

驅動確定對的嗎,有手動裝過?

因為這個語法沒有先建立 TCPIP 端口就直接指派端口類型,當然無法建立TCPIP端口啊

s355100 iT邦新手 5 級 ‧ 2017-09-28 11:48:45 檢舉

驅動確定是對的有手動安裝過,新增端口的部分語法是下方這樣嘛?

:pnew
Cscript prnportc.vbs -a -r IP_%p_ip% -h %p_ip% -o raw -n 9100
// 新增ip連接阜

少了路徑會無法動作
cscript %WINDIR%\System32\Printing_Admin_Scripts\zh-TW\Prnport.vbs -a -r IP_%p_ip% -h %p_ip% -o raw -n 9100

seeyounow iT邦新手 5 級 ‧ 2017-10-12 15:47:58 檢舉

%windir%\SysWOW64\cscript.exe %windir%\SysWOW64\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r %ip% -h %ip% -o raw -n 9100
這段不是有建立嘛
我應用在全新買的電腦也是正常的阿

seeyounow iT邦新手 5 級 ‧ 2017-10-12 15:49:34 檢舉

而且%~dp0就是已經註明了是在批次檔放的位置了,除非hpc5550c.INF放在不同位置,比如上層或下層而不是平等的位置

我要發表回答

立即登入回答