क्या कोई कमांड है जिसे कमांड लाइन से इंस्टॉल किए गए प्रिंटर की सूची और उनके स्थान को मैप करने के लिए उपयोग किया जा सकता है, यदि एक पाठ फ़ाइल में मैप किया गया है? या शायद एक प्रोग्राम जिसे मैं कमांड लाइन से चला सकता हूं जो ऐसा करेगा?
क्या कोई कमांड है जिसे कमांड लाइन से इंस्टॉल किए गए प्रिंटर की सूची और उनके स्थान को मैप करने के लिए उपयोग किया जा सकता है, यदि एक पाठ फ़ाइल में मैप किया गया है? या शायद एक प्रोग्राम जिसे मैं कमांड लाइन से चला सकता हूं जो ऐसा करेगा?
जवाबों:
Windows XP में prnmngr का उपयोग करें:
PRNMNGR -l >> C:\printers.txt
Windows Vista और उसके बाद, PowerShell का उपयोग करें:
get-WmiObject -class Win32_printer | ft name, systemName, shareName >> c:\printers.txt
नोट: यदि आपको अपने अधिकारों के आधार पर विस्टा + पर C: \ पर फ़ाइल लिखने का प्रयास किया गया है, तो आपको एक त्रुटि मिल सकती है, और PowerShell को कैसे देखा गया।
विंडोज 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
कभी-कभी आप win7 में PS का उपयोग नहीं करना चाहते हैं (मेरे पास एक ऐसा एप्लिकेशन है जो मुझे दूरस्थ पीसी पर पृष्ठभूमि में प्रशासनिक कार्य करने देता है, लेकिन यह शक्तियां का उपयोग नहीं करता है)। उल्लिखित XP विजुअल बेसिक स्क्रिप्ट विन 7 के लिए निम्नलिखित फ़ोल्डर में पाया जा सकता है:
C:\Windows\System32\Printing_Admin_Scripts\en-US
विंडोज 8 / सर्वर 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