#PowerShell 的 Get-Content 命令
Get-Content
[-Path] <String[]>
[-ReadCount <Int64>]
[-TotalCount <Int64>]
[-Tail <Int32>]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-Delimiter <String>]
[-Wait]
[-Raw]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <String>]
[<CommonParameters>]
功能
获取指定位置处项的内容,例如文件中的文本或函数的内容。
类型
Cmdlet,属于 Microsoft.PowerShell.Management。
参数
[-Path] <String[]>- 要读取内容的项路径;支持通配符,但必须是项而不是容器-LiteralPath <String[]>- 按字面值解释路径,不将任何字符视为通配符-ReadCount <Int64>- 每次通过管道发送的行数;默认 1,0 表示一次性发送全部内容-TotalCount <Int64>- 从文件开头读取的行数;别名First、Head-Tail <Int32>- 从文件末尾读取的行数;别名Last-Raw- 忽略换行符,将整个文件作为单个字符串返回-Encoding <Encoding>- 指定读取时使用的编码;默认utf8NoBOM-AsByteStream- 将内容作为字节流读取-Delimiter <String>- 指定读取时用于分割对象的分隔符;默认为换行符-Wait- 保持文件打开并持续输出新增内容,类似tail -f
完整参数可使用
Get-Help Get-Content -Full查看。
#示例
读取文件内容
> Get-Content -Path ./README.md
- 默认按行读取,并返回字符串集合。
读取开头若干行
> Get-Content -Path ./app.log -TotalCount 5
2026-11-02 08:00:01 INFO Starting
2026-11-02 08:00:02 INFO Loading config
2026-11-02 08:00:03 INFO Connecting
2026-11-02 08:00:04 INFO Connected
2026-11-02 08:00:05 INFO Ready
-TotalCount只读取文件开头指定数量的行。- 别名
-First和-Head效果相同。
读取末尾若干行
> Get-Content -Path ./app.log -Tail 3
-Tail只读取文件末尾,比读取全部内容后再取索引更高效。- 别名
-Last效果相同。
将文件作为单个字符串读取
> $text = Get-Content -Path ./README.md -Raw
- 默认返回按行拆分的字符串数组;
-Raw会保留换行并返回一个完整字符串。