PowerShell在或中提供Get Content命令或cmdlet,以便将指定的文件、变量或对象数据打印到控制台中。通过使用 获取内容 命令文本文件可以读取并打印到控制台中,也可以将变量值打印到控制台中。
将文件内容打印到控制台
Get Content命令可用于将文件内容打印到控制台。文件名或路径可以直接提供给命令。
PS> Get-Content Names.txt
输出如下。
Ismail BaydanAhmet Ali BaydanElif Ecrin Baydan
或者,我们可以指定文件的完整路径来打印文件的内容。
PS> Get-Content D:PersonNames.txt
Get Content命令提供了-Path属性,可用于指定给定文件的路径。这是一种更正式、更可靠的方式。
PS> Get-Content -Path D:PersonNames.txt
打印指定行数到控制台
Get Content命令提供 -总数 属性,用于指定将打印到控制台的行数。行从文件的开头开始。在下面的示例中,我们将-TotalCount设置为1,并且只将第一行打印到控制台。
PS> Get-Content -TotalCount 1 Names.txt
输出如下。
Ismail Baydan
将指定的文件行打印到控制台
最强大的功能之一是打印指定的行。这些行是用 -总数 属性和索引运算符。在下面的示例中,我们将打印行号5和10。因此,首先我们将返回前10行,然后使用 [-5] 以便返回最后5行(介于5和10之间)。
PS> (Get-Content -TotalCount 1 Names.txt)[-5]
将文件的最后一行打印到控制台
Get Content命令支持-Tail属性,该属性用于从文件末尾打印指定数量的行。如果将1指定为 -尾巴 属性打印给定文件的最后一行。
PS> Get-Content -Tail 1 Names.txt
或者可以使用-Tail属性从文件末尾冲刺指定数量的行。在下面的示例中,我们将打印最后5行。
PS> Get-Content -Tail 5 Names.txt
打印多个文件内容
Get Content命令可用于打印多个文件内容。我们只提供您要将内容打印到控制台或指定位置的路径。提供的星号或*表示遍历所有文件并打印其内容。
PS> Get-Content "C:UsersismailDesktop*"
或者,可以提供-Path属性以使命令更可靠。
PS> Get-Content -Path "C:UsersismailDesktop*"
获取要打印的内容的筛选器名称
即使我们可以打印多个文件内容,我们也可以使用-filter属性根据文件的名称或扩展名过滤文件。星号或*用于匹配任何内容,我们可以指定匹配部分。在下面的示例中,我们将打印所有文本文件或扩展名为*.txt的文件内容。
PS> Get-Content -Path "C:UsersismailDesktop" -Filter *.txt
另一个示例,我们将打印扩展名为*.log的日志文件内容,如下所示。
PS> Get-Content -Path "C:UsersismailDesktop" -Filter *.log
返回单行字符串
通过使用 输出字符串 命令。Get Content命令输出将重定向到Out String命令。
PS> $line = Get-Content -Path Names.txt | Out-String
多个文件的内容也可以作为一个字符串返回,如下所示。在下面的示例中,当前工作目录中的所有*.txt文件都将放入名为 $行 .
PS> $line = Get-Content -Path *.txt | Out-String
以字节数组形式获取文件内容
Get内容可以读取指定的文件或流,然后将其转换为字节数组,字节数组可以设置为变量,变量的类型将是字节数组。这个 -AsByteStream公司 和 -生的 属性用于以字节数组的形式读取内容。
PS> $byte_array = Get-Content -Path Names.txt -AsByteStream -Raw
相关文章: 如何在PowerShell中创建新目录?