约 2088 字

约 10 分钟

#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-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 会保留换行并返回一个完整字符串。

#推荐阅读

更新: 2026/11/2

作者: planc

创建: 2026/11/2