윈 도 우 배치파일로 프린터 목록과 ip 확인하고 싶습니다 도와주세요
2022.08.06 12:47
배치파일로 프린터 목록과 ip 확인할수있는 배치파일을 만들고 싶은데
레지스트리 상 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers
이 곳에 있는 프린터 목록과 각 프린터별 ip
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\프린터 이름\DsSpooler
안에 있는 printerName의 데이터 값 전체를 정리해서 확인 하고 싶습니다..
이걸 어떻게 정리해야하는지... 도움받을 수 있는 사이트나 어떤식으로 하면 될지 도움을 요청합니다.
댓글 [5]
-
히이이잌 2022.08.06 13:06
-
Kiro 2022.08.08 11:25
감사합니다 확인해보겠습니다 -
지후빠 2022.08.06 13:49
파워셀로 다음과 같습니다.
- 가상 프린터 포함 ; powershell get-printer ^| select -property name,portname
- 가상 프린터 제외 ; powershell get-printer ^| where -property portname -notlike '*:' ^| select -property name,portname
-
지후빠 2022.08.06 22:56
배치 파일 첨부합니다. 응용해보십시오. ^^ get-printer.cmd
@echo off & cd /d "%~dp0" & setlocal enabledelayedexpansion
set "key=HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers"
for /f "delims=\ tokens=7" %%a in ('reg query %key% /k /f *') do set /a i+=1 & set p_!i!_=%%a
for /l %%a in (1, 1, %i%) do (
for /f "skip=2 tokens=2*" %%k in ('reg query "%key%\!p_%%a_!"\DsSpooler /v printerName') do set p_%%a_n=%%l
for /f "skip=2 tokens=2*" %%k in ('reg query "%key%\!p_%%a_!"\DsSpooler /v portName') do set p_%%a_p=%%l
)
for /l %%a in (1, 1, %i%) do echo !p_%%a_n! --- !p_%%a_p!
echo. & echo --- 만들어진 변수 배열 ---
set p_
echo. & endlocal & pause & exit /b
-
Kiro 2022.08.08 11:26
감사합니다 응용해서 도전해보겠습니다
예전에 만들었던 스크립트인데 정확히 같은 레지스트리를 읽는 스크립트는 아니지만, 참고하시면 도움이 될 것 같습니다
https://windowsforum.kr/free/17649210
글 아래쪽 printtest.bat 기준으로 간단히 설명만 추가하면,
프린터 이름에 PDF,XPS,OneNote가 포함되면 PrintCheck 변수를 1로 바꿉니다.
PrintCheck 변수가 0일때만 txt파일에 기록합니다.