使用說明:
20200825
感恩頂番國小李清展老師的協助。
有的印表機需要設定列印喜好設定,希望能夠在安裝過程中設定。
現在讓其在安裝過程中出現,而不要安裝完再自行找路徑做設定。
其中的語句如下:
rundll32 printui.dll,PrintUIEntry /e /n %printer_name2%_%printer_name%
BAT範例下載,解壓密碼demo1234
@echo off
set printer_ip=172.20.3.94
echo "要連接印表機用的ip為%printer_ip%"
set printer_name2="專任室印表機"
echo "機器顯示的名稱為%printer_name2%"
set printer_86_driver="%~dp0AutoInstall\x86\KOAYTJ__.INF"
REM "x86的驅動程式%printer_86_driver%"
set printer_64_driver="%~dp0AutoInstall\x64\KOAYTJ__.INF"
REM "x64的驅動程式%printer_64_driver%"
set printer_name="KONICA MINOLTA C554 PCL Mono"
echo "印表機型號%printer_name%"
if "%PROCESSOR_ARCHITECTURE%" == "x86" goto x86
if "%PROCESSOR_ARCHITECTURE%" == "AMD64" goto x64
rem 針對win7有32跟64位元的判斷
:x86
echo "作業系統為x86"
echo "x86的驅動程式%printer_86_driver%"
C:\Windows\system32\cscript.exe C:\Windows\system32\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r IP_%printer_ip% -h %printer_ip% -o raw -n 9100
REM 新增ip連接port,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_86_driver% /b %printer_name2%_%printer_name% /m %printer_name%
REM 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 請設定印表機喜好設定
rundll32 printui.dll,PrintUIEntry /e /n %printer_name2%_%printer_name%
echo 印表機喜好設定OK
echo 列表機安裝完成...請按任意鍵結束..
pause
:x64
echo "作業系統為x64"
echo "x64的驅動程式%printer_64_driver%"
C:\Windows\system32\cscript.exe C:\Windows\system32\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r IP_%printer_ip% -h %printer_ip% -o raw -n 9100
REM 新增ip連接阜,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_64_driver% /b %printer_name2%_%printer_name% /m %printer_name%
REM 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 請設定印表機喜好設定
rundll32 printui.dll,PrintUIEntry /e /n %printer_name2%_%printer_name%
echo 印表機喜好設定OK
echo 列表機安裝完成...請按任意鍵結束..
pause
20200811
現在再修正,將設定的部分移前。並提供範例下載。
BAT範例,解壓密碼demo1234
@echo off
set printer_ip=172.20.3.94
echo "要連接印表機用的ip為%printer_ip%"
set printer_ip=172.20.3.94
echo "要連接印表機用的ip為%printer_ip%"
set printer_name2="專任室印表機"
echo "機器顯示的名稱為%printer_name2%"
echo "機器顯示的名稱為%printer_name2%"
set printer_86_driver="%~dp0AutoInstall\x86\KOAYTJ__.INF"
REM "x86的驅動程式%printer_86_driver%"
set printer_64_driver="%~dp0AutoInstall\x64\KOAYTJ__.INF"
REM "x64的驅動程式%printer_64_driver%"
set printer_name="KONICA MINOLTA C554 PCL Mono"
echo "印表機型號%printer_name%"
echo "印表機型號%printer_name%"
if "%PROCESSOR_ARCHITECTURE%" == "x86" goto x86
if "%PROCESSOR_ARCHITECTURE%" == "AMD64" goto x64
rem 針對win7有32跟64位元的判斷
:x86
echo "作業系統為x86"
echo "x86的驅動程式%printer_86_driver%"
C:\Windows\system32\cscript.exe C:\Windows\system32\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r IP_%printer_ip% -h %printer_ip% -o raw -n 9100
REM 新增ip連接port,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_86_driver% /b %printer_name2%_%printer_name% /m %printer_name%
REM 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 列表機安裝完成...請按任意鍵結束..
pause
:x64
echo "作業系統為x64"
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_86_driver% /b %printer_name2%_%printer_name% /m %printer_name%
REM 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 列表機安裝完成...請按任意鍵結束..
pause
:x64
echo "作業系統為x64"
echo "x64的驅動程式%printer_64_driver%"
C:\Windows\system32\cscript.exe C:\Windows\system32\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r IP_%printer_ip% -h %printer_ip% -o raw -n 9100
REM 新增ip連接阜,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_64_driver% /b %printer_name2%_%printer_name% /m %printer_name%
REM 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 列表機安裝完成...請按任意鍵結束..
pause
REM 新增ip連接阜,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_64_driver% /b %printer_name2%_%printer_name% /m %printer_name%
REM 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 列表機安裝完成...請按任意鍵結束..
pause
20200811以前的文章
可建立專任室印表機.BAT,其內容如下:
紅色的部分需要依實際情況做修改,即可:
@echo off
set printer_ip=172.20.3.94
rem 要連接印表機用的ip
set printer_name2="專任室印表機"
rem 機器顯示的名稱
if "%PROCESSOR_ARCHITECTURE%" == "x86" goto x86
if "%PROCESSOR_ARCHITECTURE%" == "AMD64" goto x64
rem 針對win7有32跟64位元的判斷
:x86
echo "x86"
set printer_driver="%USERPROFILE%\Desktop\AutoInstall\AutoInstall\x86\KOAYTJ__.INF"
rem %USERPROFILE%\Desktop\AutoInstall\AutoInstall\x86\KOAYTJ__.INF 為桌面
set printer_name="KONICA MINOLTA C554 PCL Mono"
rem KOAYTJ__.INF 內顯示的印表機名稱
rem driver放在同目錄下,路徑用.\來作相對路徑
C:\Windows\system32\cscript.exe C:\Windows\system32\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r IP_%printer_ip% -h %printer_ip% -o raw -n 9100
rem 新增ip連接port,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_driver% /b %printer_name2%_%printer_name% /m %printer_name%
rem 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 列表機安裝完成...請按任意鍵結束..
pause
:x64
echo "x64"
set printer_driver="%USERPROFILE%\Desktop\AutoInstall\AutoInstall\x64\KOAYTJ__.INF"
rem %USERPROFILE%\Desktop\AutoInstall\AutoInstall\x86\KOAYTJ__.INF 為桌面
set printer_name="KONICA MINOLTA C554 PCL Mono"
rem KOAYTJ__.INF 內顯示的印表機名稱
rem driver放在同目錄下,路徑用.\來作相對路徑
C:\Windows\system32\cscript.exe C:\Windows\system32\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r IP_%printer_ip% -h %printer_ip% -o raw -n 9100
rem 新增ip連接阜,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_driver% /b %printer_name2%_%printer_name% /m %printer_name%
rem 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 列表機安裝完成...請按任意鍵結束..
pause
在學校環境下進行測試 windows 7 與 windows 10 版本,可以成功運作。
後續反應:限制只能在桌面,在桌面解壓縮。可否在任何地方解壓縮,都可以安裝。
那就需要 bat知道所在檔案的路徑
getPath.bat 其內容為
echo off
setlocal EnableDelayedExpansion
echo 路徑1.1:!cd!
pause
@echo off
echo 路徑1.2:%cd%
pause
@echo off
echo 路徑1.3:%~dp0
pause
出現的結果為
那我們用%~dp0來修改
@echo off
set printer_ip=172.20.3.94
rem 要連接印表機用的ip
set printer_name2="專任室印表機"
rem 機器顯示的名稱
if "%PROCESSOR_ARCHITECTURE%" == "x86" goto x86
if "%PROCESSOR_ARCHITECTURE%" == "AMD64" goto x64
rem 針對win7有32跟64位元的判斷
:x86
echo "x86"
set printer_driver="%~dp0AutoInstall\x86\KOAYTJ__.INF"
echo 驅動程式所在路徑為 %printer_driver%
set printer_name="KONICA MINOLTA C554 PCL Mono"
rem driver放在同目錄下,路徑用.\來作相對路徑
C:\Windows\system32\cscript.exe C:\Windows\system32\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r IP_%printer_ip% -h %printer_ip% -o raw -n 9100
rem 新增ip連接阜,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_driver% /b %printer_name2%_%printer_name% /m %printer_name%
rem 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 列表機安裝完成...請按任意鍵結束..
pause
:x64
echo "x64"
set printer_driver="%~dp0AutoInstall\x64\KOAYTJ__.INF"
echo 驅動程式所在路徑為 %printer_driver%
set printer_name="KONICA MINOLTA C554 PCL Mono"
rem driver放在同目錄下,路徑用.\來作相對路徑
C:\Windows\system32\cscript.exe C:\Windows\system32\Printing_Admin_Scripts\zh-TW\prnport.vbs -a -r IP_%printer_ip% -h %printer_ip% -o raw -n 9100
rem 新增ip連接阜,已經存在也沒差
rundll32 printui.dll,PrintUIEntry /if /r IP_%printer_ip% /f %printer_driver% /b %printer_name2%_%printer_name% /m %printer_name%
rem 新增印表機,如果已經有同樣名字的也會新增,名字後面會多(複本1)
echo 列表機安裝完成...請按任意鍵結束..
pause
資料來源:
1.(教學)windows批次檔安裝設定印表機(bat.自動化.驅動.網路)
2.bat安裝印表機 win7
3.自動安裝網路印表機
4.自動安裝印表機
5.在cmd/bat腳本中獲取當前腳本文件所在目錄
6.windows 批處理文件bat中當前目錄。
8.prnport
感謝~ 非常受用
回覆刪除印表機名稱如果出現亂碼, 可以在程式碼加上 "chcp 65001"
就可以解決
謝謝老師,依照您的檔案,我也修改完成,符合我學校使用。感謝老師。
回覆刪除