Get-Content

获取位于指定位置的项的内容。

语法

Get-Content [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-ReadCount <Int64>] [-TotalCount <Int64>] [-UseTransaction] [<CommonParameters>]

Get-Content [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-ReadCount <Int64>] [-TotalCount <Int64>] [-UseTransaction] [<CommonParameters>]

说明

Get-Content cmdlet 获取位于路径所指定位置的项的内容,例如,文件中的文本。此命令每次读取一行内容,并为每行返回一个对象。

参数

-Credential <PSCredential>

指定有权执行此操作的用户帐户。默认值为当前用户。

键入用户名,如“User01”或“Domain01\User01”;或输入 PSCredential 对象,如 Get-Credential cmdlet 生成的一个 PSCredential 对象。如果键入用户名,则将提示您输入密码。

随同 Windows PowerShell 一起安装的任何提供程序都不支持此参数。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-Exclude <string[]>

忽略指定项。此参数的值对 Path 参数进行限定。请输入路径元素或模式,例如“*.txt”。允许使用通配符。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Filter <string>

以提供程序的格式或语言指定筛选器。此参数的值对 Path 参数进行限定。筛选器的语法(包括通配符的使用)取决于提供程序。筛选器比其他参数更有效,因为提供程序是在检索对象时应用筛选器,而不是在检索对象后再由 Windows PowerShell 筛选对象。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Force

覆盖阻止命令成功执行的限制,但应确保所做更改不会危及安全性。例如,Force 将覆盖只读属性或创建目录来完成文件路径,但它不会尝试更改文件权限。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Include <string[]>

只检索指定项。此参数的值对 Path 参数进行限定。请输入路径元素或模式,例如“*.txt”。允许使用通配符。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-LiteralPath <string[]>

指定项的路径。与 Path 不同,LiteralPath 的值严格按照所键入的形式使用。不会将任何字符解释为通配符。如果路径包括转义符,请将其括在单引号中。单引号会告知 Windows PowerShell 不要将所有字符都解释为转义序列。

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-Path <string[]>

指定项的路径。Get-Content 将检索该项的内容。允许使用通配符。参数名(“Path”或“FilePath”)为可选项。

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-ReadCount <Int64>

指定每次通过管道发送的内容行数。默认值为 1。值 0(零)将一次发送所有内容。

此参数不会更改显示的内容,但会影响显示内容所用的时间。随着 ReadCount 的值增加,返回第一行所用的时间将会增加,但该操作的总计时间将会减少。这一点在非常大的项中可产生显而易见的差异。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-TotalCount <Int64>

指定要检索的内容行数。默认值为 -1(所有行)。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-UseTransaction

将命令包含在活动事务中。仅当正在执行事务时,此参数才有效。有关详细信息,请参阅 about_Transactions。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

不能通过管道将输入传递给 Get-Content。

输出

Object

Get-Content 返回表示所获取内容的对象。对象类型取决于内容类型。

说明

还可以使用 Get-Content 的内置别名“cat”、“type”和“gc”来对其进行引用。有关详细信息,请参阅 about_Aliases。

Get-Content cmdlet 用于处理由任何提供程序公开的数据。要列出会话中可用的提供程序,请键入“Get-PsProvider”。有关详细信息,请参阅 about_Providers。

示例 1

C:\PS>get-content -Path C:\Chapters\chapter1.txt

说明
-----------
此命令在控制台上显示 Chapter1.txt 文件的内容。它使用 Path 参数来指定项的名称。Get-Content 实际上将内容传入管道,但因为没有其他管道元素,所以将设置内容的格式并在控制台上显示内容。





示例 2

C:\PS>get-content c:\Logs\Log060912.txt -totalcount 50 | set-content sample.txt

说明
-----------
此命令获取 Log060912.txt 文件的前 50 行,并将它们存储在 sample.txt 文件中。此命令使用 Get-Content cmdlet 来获取文件中的文本。(省略了可选的 Path 参数名)TotalCount 参数将检索限定于前 50 行。管道运算符 (|) 将结果发送给 Set-Content,Set-Content 会将该结果放在 sample.txt 文件中。





示例 3

C:\PS>(get-content cmdlets.txt -totalcount 5)[-1]

说明
-----------
此命令获取 Cmdlets.txt 文本文件的第五行。它使用 TotalCount 参数来获取前 5 行,然后使用数组表示法来获取结果集的最后 1 行(由“-1”指示)。





另请参阅

概念

about_providers
Add-Content
Set-Content
Clear-Content