从命令行到文本文件列出打印机

从命令行到文本文件列出打印机

是否有命令可以从命令行使用,将已安装打印机及其位置(如果已映射)的列表输出到文本文件?或者是否有一个程序可以从命令行运行来执行此操作?

答案1

在 Windows XP 中使用 prntmngr:

PRNMNGR -l >> C:\printers.txt

在 Windows XP SP3 Vista 及更高版本中(您需要手动安装 powershell v1),使用 PowerShell:

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

注意:如果您尝试在 Vista+ 上将文件写入 C:\,则可能会出现错误,这取决于您的权限以及 PowerShell 的生成方式。

对于 Windows 2000:

XP 中的文件PrnMngr.vbs(位于/Windows/System32文件夹中)可以在 Windows 2000 上运行。只需从 XP 计算机找到并将其复制到 2000 计算机,然后使用以下命令运行它:

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

我发现由于某种原因它无法从我的用户桌面运行,但是当我将 .VBS 复制到 C: 的根目录时它运行良好。

答案2

我用:

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

答案3

有时您不想在 win7 中使用 PS(我有一个应用程序可以让我在远程 PC 上在后台执行管理工作,但它不使用 powershell)。 提到的 XP visual basic 脚本可以在 Win7 的以下文件夹中找到:

C:\Windows\System32\Printing_Admin_Scripts\en-US

答案4

注意:对于 Windows XP,请务必先将默认脚本宿主更改为 CScript

C:\CScript //H:CScript

否则您将收到一条消息提示您这样做,并且您的 Printers.txt 文件将为空白。

相关内容