Daftar printer dari baris perintah ke file teks

30

Apakah ada perintah yang dapat digunakan dari baris perintah untuk menampilkan daftar printer yang diinstal dan lokasinya, jika dipetakan, ke file teks? Atau mungkin program yang dapat saya jalankan dari baris perintah yang akan melakukan ini?

Der Hochstapler
sumber

Jawaban:

28

Di Windows XP gunakan prntmngr:

PRNMNGR -l >> C:\printers.txt

Di Windows Vista dan sekitarnya, gunakan PowerShell:

get-WmiObject -class Win32_printer | ft name, systemName, shareName >> c:\printers.txt

Catatan: Anda DAPAT mendapatkan kesalahan jika Anda mencoba menulis file ke C: \ on Vista +, tergantung pada hak Anda, dan bagaimana PowerShell dilahirkan.

Untuk Windows 2000:

File PrnMngr.vbs dari XP (terletak di folder / Windows / System32) berfungsi pada Windows 2000. Temukan dan salin ke mesin 2000 dari mesin XP dan jalankan dengan:

cscript prnmngr.vbs -l >> c:\printers.txt

Saya menemukan itu tidak akan berjalan dari desktop pengguna saya untuk beberapa alasan, tetapi ketika saya menyalin .VBS ke root C: itu berjalan dengan baik.

Wesley
sumber
Bekerja dengan indah!
15

Saya menggunakan:

wmic printer list brief

ATAU

wmic printer get name

Ini hanya menunjukkan daftar pendek printer yang terpasang pada sistem tempat Anda menjalankan perintah. Ini juga akan menunjukkan komputer apa yang terhubung dengan printer jika ada printer jaringan.

Anda juga dapat menggunakan ini untuk mendapatkan daftar konfigurasi yang sangat terperinci untuk setiap printer yang diinstal pada sistem:

wmic printer list full

Untuk menampilkannya ke file teks, tambahkan ini ke akhir perintah:

 >>"[directory]\[filename].txt"

Contoh:

wmic printer list brief >> c:\users\admin\documents\printerlist.txt
Matt Stoddard
sumber
Ini harus menjadi jawaban yang diterima.
James Draper
4

Kadang-kadang Anda tidak ingin menggunakan PS di win7 (Saya memiliki aplikasi yang memungkinkan saya melakukan pekerjaan administratif di latar belakang pada PC jarak jauh, tetapi tidak menggunakan PowerShell). Skrip visual basic XP yang disebutkan dapat ditemukan di folder berikut untuk Win7:

C:\Windows\System32\Printing_Admin_Scripts\en-US
Andrew
sumber
1

Catatan: Untuk Windows XP, pastikan untuk mengubah host skrip default ke CScript terlebih dahulu

C:\CScript //H:CScript

jika tidak, Anda akan mendapatkan pesan yang memberitahu Anda untuk melakukannya dan file printers.txt Anda akan kosong.

cls
sumber
0

jadi ini solusi saya:

;******************
;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
Pembuat paket kanan
sumber
0

Gunakan Powershell.

[System.Drawing.Printing.PrinterSettings]::InstalledPrinters

stomy
sumber
Selamat datang di Pengguna Super. Bisakah Anda mengatakan lebih dari ini? Meskipun saya pikir ini secara teknis merupakan jawaban, ia meninggalkan banyak imajinasi dan karena itu bukan jawaban yang berkualitas tinggi.
Peniru Twisty