1. 배치파일 프린터 드라이버 자동설치 방법

프린터 드라이버를 자동으로 설치하기 위해서는 우선 프린터 드라이버 파일이 필요 합니다.그리고 프린터 드라이버 내 INF 파일을 열어 드라이버명을 확인하고 복사하여 지정하셔야 하는데요.그 방법을 하나하나 설명 드리도록 하겠습니다.​우선 하나의 예시로 삼성프린터 드라이버를 설치한다고 가정하고 삼성 사이트에서 ML-2580NK Universal Print Driver를 다운로드 하였습니다.​​
INF 파일 INF 파일 내 프린터명 그리고 압축을 해제하여 INF파일을 열어 프린터 파일명을 찾았습니다. 이 프린터명은 나중에 입력 하여야 하기 때문에 다른곳에 잠시 저장을 해 놓습니다.​​​​ 프린터 드라이버 경로마지막으로 프린터 파일경로를 단순하게 하기위해 C:\ 바로 밑에 프린터 드라이버 폴더를 복사합니다.​준비물이 준비 되었으니 이제 다음단계로 넘어갑니다.​​​​
프린터 자동설치 명령어@echo offset /p printip=[프린터에 저장되어 있는 IP 입력]:set /p printname=[새로 저장 할 프린터명 입력]:cscript %systemroot%\system32\Printing_Admin_Scripts\ko-KR\prnport.vbs -a -r IP_%printip% -h %printip% -o raw -n 9100control printersrundll32 printui.dll,PrintUIEntry /if /b “%printname%” /f “C:\Printer\up602.inf” /r “IP_%printip%” /m “Samsung Universal Print Driver 2 PCL6” rundll32 printui.dll,PrintUIEntry /y /n “%printname%”exit 프린터 배치파일 실행 창 프린터 드라이버 설치완료 창 ​[1] set /p printip=[프린터에 저장되어 있는 IP 입력]:​- 저번시간에 배운 부분 입니다. 구문해석 : 사용자의 입력이 완료되면 printip에 사용자가 입력한 내용을 저장하라는 내용입니다.​​​[2] set /p printname=[새로 저장 할 프린터명 입력]:​- 위 설명내용과 같아 생략 하겠습니다.​​​[3] cscript %systemroot%\system32\Printing_Admin_Scripts\ko-KR\prnport.vbs -a -r IP_%printip% -h %printip% -o raw -n 9100​여기서부터 중요한데요.​cscript는 콘솔기반 스크립트인데 prnport.vbs를 사용하기 위해 앞에 명령어로 붙히는 부분 입니다.즉 cscript %systemroot%\system32\Printing_Admin_Scripts\ko-KR\prnport.vbs 까지가 명령을 실행하기 위한 기본구조이고 뒤에 -옵션이나 %printip%는 프린터 IP를 생성하고 업데이트 하기 위한 구성요소입니다.​그리고 %printip%는 set /p printip에서 printip에 저장되어 있는 값을 출력하는 명령입니다.즉 사용자가 set /p printip에서 192.168.0.50 이라고 입력을 하였으면 printip에 192.168.0.50이 저장되고 %printip%를 통해 192.168.0.50을 출력할 수 있습니다.​이해가 어려우실 수 있어 간단한 예제를 하나 보여 드리면 @echo offset /p test=[아무단어나 입력]echo %test%pause 위 내용을 bat로 저장하고 실행하여 set /p 입력과 출력”안녕하세요. SU입니다”를 입력 후 엔터를 치시면 결과값도 마찬가지로 “안녕하세요. SU입니다”로 출력 됩니다.test가 저장하고 있는 부분을 %test%로 출력하는 방식이라고 생각하시면 쉽게 이해 하실 수 있습니다.​​​[4] control printers– 제어판 내 장치 및 프린터 창을 오픈하는 명령어 입니다.​​​[5] rundll32 printui.dll,PrintUIEntry /if /b “%printname%” /f “C:\Printer\up602.inf” /r “IP_%printip%” /m “Samsung Universal Print Driver 2 PCL6”​- rundll32 printui.dll,PrintUIEntry 까지가 명령어이며 뒤에 붙는 / 뒤 옵션이나 경로는 전부 추가 입력값 입니다.​ 옵션을 제외하고 적혀있는 부분을 하나씩 나눠서 설명 드리면 (1) %printname%는 위 4번에서 설명하였음으로 생략 합니다. (2) “C:\Printer\up602.inf” 는 프린터 INF 파일경로를 입력한 부분입니다. (3) %printip%도 4번에서 설명하였음으로 생략 합니다. (4) “Samsung Universal Print Driver 2 PCL6″는 INF파일안에 작성되어 있는 실제 프린터명 입니다.​위 내용 중 2번 INF 파일경로와 4번 프린터명은 이 글 맨 처음에 설명하였습니다.​​​[6] rundll32 printui.dll,PrintUIEntry /y /n “%printname%”​- 위 내용을 설명하면 %printname%을 프린터 기본값으로 설정하라는 명령어 입니다.​​​​마지막으로 정리하여 설명 드리면​- 자동설치를 원하는 프린터 드라이버 다운로드- INF파일을 열어 프린터명 기억- 프린터 드라이버 경로 기억- 배치파일 구문 내 프린터명 및 드라이버 경로 입력- 실행 시 IP와 프린터 명을 입력하면 프린터 설치를 진행합니다.

cmd 명령어

rem setlocal

cd /d %~dp0   현재폴더로 변경

rem set CURPATH=%cd% 현재폴더를 저장

rem cd %CURPATH%                 저장한 폴더로 이동

dir/w

pause

set path1=”C:\Program Files\Autodesk\AutoCAD 2017\Plugins”  ;경로set

set LEE_lisp=%path1%\LEE_lisp2018D                                       ;경로set

rem cd %path1%  

rem mkdir “LEE_lisp2018C”  폴더만들기

 @ECHO OFF  폴더확인해서 만들기

if exist %LEE_lisp% (

  echo OK! 그런 디렉토리가 있습니다

) else (

 echo 에러, 그런 디렉토리는 없음

 mkdir %LEE_lisp%

 )

 @ECHO ON

파일복사하기

  xcopy/s/y/Q *.* %LEE_lisp% 

rem REG.EXE ADD  레지스트 수정

pause

;————————————————————————————————————

@echo off

set date_var=%date%
set time_var=%time%
set from_file_name=C:\cmd-test\a\*.*
set to_file_base=C:\cmd-test\
set to_file_detail=\a\
set /a server_count=25
set result_file=copy_result.txt

echo ================== update start ======================= >> %result_file%
echo %date_var% %time_var% >> update_result.txt

for /l %%i in (1,1, %server_count%) do (
 call :copy %%i 
)

echo ================== copy ended ======================= >> %result_file%
echo %date_var% %time_var% >> update_result.txt
echo ================== update ended ======================= >> %result_file%
goto :EOF

:copy
setlocal
set /a rec_var=%1%
set rec_str_var=0%1%
if %rec_var% lss 10 (set rec_str_var=0%rec_var%) else (set rec_str_var=%rec_var%)
set to_full_file_name=%to_file_base%%rec_str_var%%to_file_detail%
echo %to_full_file_name%
xcopy %from_file_name% %to_full_file_name% /e /c /y /i /r /f >> %result_file%
endlocal
goto :EOF

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다