এমন একটি কমান্ড রয়েছে যা কমান্ড লাইন থেকে ইনস্টল করা প্রিন্টারের একটি তালিকা আউটপুট করতে এবং তাদের অবস্থান যদি ম্যাপ করা যায় তবে একটি টেক্সট ফাইলে ব্যবহার করা যেতে পারে? বা সম্ভবত একটি প্রোগ্রাম যা আমি কমান্ড লাইন থেকে চালাতে পারি যে এটি করবে?
এমন একটি কমান্ড রয়েছে যা কমান্ড লাইন থেকে ইনস্টল করা প্রিন্টারের একটি তালিকা আউটপুট করতে এবং তাদের অবস্থান যদি ম্যাপ করা যায় তবে একটি টেক্সট ফাইলে ব্যবহার করা যেতে পারে? বা সম্ভবত একটি প্রোগ্রাম যা আমি কমান্ড লাইন থেকে চালাতে পারি যে এটি করবে?
উত্তর:
উইন্ডোজ এক্সপিতে প্রিন্টমঙ্গার ব্যবহার করুন:
PRNMNGR -l >> C:\printers.txt
উইন্ডোজ ভিস্তা এবং এর বাইরে, পাওয়ারশেল ব্যবহার করুন:
get-WmiObject -class Win32_printer | ft name, systemName, shareName >> c:\printers.txt
দ্রষ্টব্য: আপনি নিজের অধিকারের উপর নির্ভর করে এবং পাওয়ারশেল কীভাবে তৈরি হয়েছিল তা নির্ভর করে ভিস্তা + তে সি: to এ ফাইলটি লেখার চেষ্টা করলে আপনি একটি ত্রুটি পেতে পারেন।
উইন্ডোজ 2000 এর জন্য:
এক্সপি থেকে PrnMngr.vbs ফাইল (/ উইন্ডোজ / সিস্টেম 32 ফোল্ডারে অবস্থিত) উইন্ডোজ 2000 এ কাজ করে Just এটি এক্সপি মেশিন থেকে 2000 মেশিনে সন্ধান করুন এবং অনুলিপি করুন এবং এটি দিয়ে চালনা করুন:
cscript prnmngr.vbs -l >> c:\printers.txt
আমি দেখতে পেলাম যে এটি কোনও কারণে আমার ব্যবহারকারীর ডেস্কটপ থেকে চলবে না, তবে আমি .VBS কে সি এর মূলটিতে অনুলিপি করেছিলাম: এটি ঠিক আছে।
আমি ব্যবহার করি:
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
কখনও কখনও আপনি উইন 7-তে PS ব্যবহার করতে চান না (আমার কাছে এমন একটি অ্যাপ্লিকেশন রয়েছে যা আমাকে দূরবর্তী পিসিগুলিতে পটভূমিতে প্রশাসনিক কাজ করতে দেয়, তবে এটি পাওয়ারশেল ব্যবহার করে না)। উল্লিখিত এক্সপি ভিজ্যুয়াল বেসিক স্ক্রিপ্টগুলি উইন 7 এর জন্য নিম্নলিখিত ফোল্ডারে পাওয়া যাবে:
C:\Windows\System32\Printing_Admin_Scripts\en-US
উইন্ডোজ 8 / সার্ভার 2012 দিয়ে শুরু করে একটি get-printer
পাওয়ারশেল সেমিডলেট রয়েছে:
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
পাওয়ারশেল ব্যবহার করুন।
[System.Drawing.Printing.PrinterSettings]::InstalledPrinters