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?

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.


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

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


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.


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

0

Gunakan Powershell.

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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.