如何从PowerShell脚本中打印一个文件

1,232 阅读4分钟

Windows PowerShell ISE提供了编写脚本和执行脚本以执行各种操作的设施。PowerShell ISE是对基本命令行工具PowerShell的扩展。它内置了对微软Windows的支持。然而,你也可以为Linux发行版和MacOS安装它。PowerShell提供了一个简单的命令执行界面,而ISE则有一个更加互动和详细的界面,可以执行复杂和更大的脚本。PowerShell和PowerShell ISE可以与两个文字处理器 "记事本"和 "Word"相联系。

在这篇文章中,我们将演示使用PowerShell ISE脚本打印文件的各种方法。

如何通过PowerShell脚本打印文件

按照下面的步骤打开PowerShell ISE。

点击任务栏上的搜索图标,并搜索 "PowerShell ISE"。然后,点击名称并打开它。

PowerShell ISE的脚本窗格和输出窗格将被显示。

首先,用喜欢的名字保存你的无标题脚本。然后,按 "ctrl+s"来保存你的脚本。我们用 "test.ps1"的名字保存了脚本。

如果你不知道用于打印的cmdlet,在你的脚本中写下以下一行,然后按 "ctrl+s"保存脚本。这个Get-Command将打印所有存在 "print"一词的函数、cmdlet和应用程序。

Get-Command *print*

此外,为了从输出窗格中运行脚本,你必须将终端重定向到保存脚本的文件夹中。我们把脚本保存在C:\users\adnan\downloads中。

一旦你保存了脚本,进入输出窗格并运行该脚本,如下图所示。注意,打印的PowerShell cmdlet是 "Out-Printer"。

PowerShell的 "Out-Printer"cmdlet将只向你的打印机发送数据。

现在,我们将转向使用这个 "cmdlet"来打印一个文件。

我已经创建了一个.txt文件,并将其保存在保存 "print.ps1"脚本的同一目录下,称为 "printfile.txt"。

你必须使用 "Get-Content"cmdlet并与 "Out-Printer"连接,以获得 "printfile.txt "中内容的打印结果。Get-Content"将从文件中获取内容并将其发送到Out-Printer。此外,Out-Printer将把信息发送到打印机上。使用PowerShell脚本来打印文件的命令如下所示。

Get-Content -Path ./printfile.txt | Out-Printer

复制并粘贴该命令到你的脚本中。你可以用你要打印的文件的路径创建一个脚本。我们在同一目录下做了另一个脚本,"getprint.ps1"。

当你运行这个脚本时,它将打印出文件的内容。如果你的机器没有连接到打印机,它将重定向你将文件保存为PDF格式,如下所示。

参数

Out-Printer"支持的参数。

- 输入对象。你可以把文件的内容保存在一个变量中,然后把这个变量传给 "Out-Printer"。

- 名称。打 印cmdlet "Out-Printer"将使用默认打印机打印文件。然而,如果你想在一个特定的服务器上打印文件,那么就需要使用这个**-名称** 参数。

我们将在本指南的后半部分讨论这两个参数。

InputObject参数

你可以使用 "Out-Printer"的"-InputObject "参数来打印文件的内容。我们将获得 "printfile.txt"的内容并将其保存在一个变量中。之后,Out-Printer将从变量中获取信息并将其发送到打印机。

我们已经创建了另一个脚本并将其保存为 "inputobj.ps1"。在该脚本中写下以下代码,在变量"P"中获取"printfile.txt"的内容。此外,代码的第二行显示,"\-InputObject""P**"中获取 "**printfile.txt**"的内容。此外,代码的第二行显示,"**\-InputObject**"将"**P"变量传递给 "Out-Printer",它将把数据发送到打印机。

$P = Get-Content -Path printfile.txt

Out-Printer -InputObject $P

在输出窗格中执行该脚本。一旦脚本执行成功,它将打印所选文件。

名称 参数

如果你想用另一台不是你默认的打印机来打印文件,你需要该打印机的名称或打印机的位置。如果你不知道打印机的名称或位置,点击搜索图标并搜索 "打印机和扫描仪"。

打开 "打印机和扫描仪"。你会得到已添加的打印机和扫描仪的列表。点击你选择的打印机并选择 "管理"。

一旦你点击了 "管理",它将打开另一个窗口。从该窗口选择 "打印机属性"。

之后,你会得到打印机的名称和位置,如下图所示。

你可以使用打印机的名称或位置。

下面的命令将打印该文件。

Get-Content -Path ./printfile.txt | Out-Printer -Name "HP155B02 (HP Smart Tank 510 series)"

现在,在PowerShell ISE中运行脚本,以指定的名称在打印机上打印该文件。

总结

PowerShell ISE允许用户使用命令行与Windows的不同任务进行交互。打印已经成为大多数计算机用户广泛使用的动作,无论是打印文档还是打印照片。在这篇文章中,我们展示了使用PowerShell ISE脚本打印文件的方法。PowerShell ISE的Out-Printer cmdlet使你能够通过ISE脚本来打印文件。此外,我们还展示了各种参数的使用,如"-InputObject"和"-Name"。