명령 줄에서 사용할 프린터 목록 및 매핑 된 경우 해당 위치를 텍스트 파일로 출력 할 수있는 명령이 있습니까? 아니면 명령 줄에서 실행할 수있는 프로그램입니까?
명령 줄에서 사용할 프린터 목록 및 매핑 된 경우 해당 위치를 텍스트 파일로 출력 할 수있는 명령이 있습니까? 아니면 명령 줄에서 실행할 수있는 프로그램입니까?
답변:
Windows XP에서 prntmngr을 사용하십시오.
PRNMNGR -l >> C:\printers.txt
Windows Vista 이상에서는 PowerShell을 사용하십시오.
get-WmiObject -class Win32_printer | ft name, systemName, shareName >> c:\printers.txt
참고 : 권한 및 PowerShell 생성 방법에 따라 Vista +에서 파일을 C : \에 쓰려고하면 오류가 발생할 수 있습니다.
Windows 2000의 경우 :
XP의 PrnMngr.vbs 파일 (/ Windows / System32 폴더에 있음)은 Windows 2000에서 작동합니다. XP 시스템에서 2000 시스템으로 파일을 찾아 복사하여 다음을 실행하십시오.
cscript prnmngr.vbs -l >> c:\printers.txt
어떤 이유로 사용자의 데스크톱에서 실행되지 않는 것을 알았지 만 .VBS를 C의 루트에 복사하면 정상적으로 실행되었습니다.
나는 사용한다:
wmic printer list brief
또는
wmic printer get name
여기에는 명령을 실행하는 시스템에 연결된 짧은 프린터 목록 만 표시됩니다. 또한 네트워크 프린터가있는 경우 프린터가 연결된 컴퓨터를 보여줍니다.
이것을 사용하여 시스템에 설치된 각 프린터에 대한 매우 자세한 구성 목록을 얻을 수 있습니다.
wmic printer list full
텍스트 파일로 출력하려면 명령 끝에 다음을 추가하십시오.
>>"[directory]\[filename].txt"
예:
wmic printer list brief >> c:\users\admin\documents\printerlist.txt
Windows 8 / Server 2012부터는 get-printer
PowerShell cmdlet이 있습니다.
https://technet.microsoft.com/en-us/library/hh918358%28v=wps.630%29.aspx?f=255&MSPPError=-2147217396
그래서 이것은 내 해결책입니다.
;******************
;ALLOCATING CONSOLE
;******************
; cmd calls hidden
global cPid
DetectHiddenWindows, on
Run, %comspec% /k ,,Hide UseErrorLevel,cPid
WinWait, ahk_pid %cPid%,, 1
DllCall("AttachConsole","uint",cPid)
hCon:=DllCall("CreateFile","str","CONOUT$","uint",0xC0000000,"uint",7,"uint",0,"uint",3,"uint",0,"uint",0)
;******* GET PRINTER NAMES **********
AllPrintersNameClearArray := strSplit(StrReplace(StrReplace(StrReplace(StrReplace("|" StrReplace(StrReplace(StrReplace(RunWaitOne("wmic printer get name")," ","")," `r",""),"`r",""),"|NAME`n",""),"`n","|"),"||","",All),"|","`n"),"`n")
RunWaitOne(command) {
objShell := ComObjCreate("WScript.Shell")
objExec := objShell.Exec(command)
strStdOut := ""
while, !objExec.StdOut.AtEndOfStream
strStdOut := objExec.StdOut.ReadAll()
return %strStdOut%
}
; **** Clean at the end *****
Finish:
DllCall("CloseHandle", "uint", hCon)
DllCall("FreeConsole")
Process, Close, %cPid%
ExitApp
return
Powershell을 사용하십시오.
[System.Drawing.Printing.PrinterSettings]::InstalledPrinters