当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

作者:精品下载站 日期:2024-12-14 04:54:33 浏览:16 分类:玩电脑

PowerShell 获取内容 | PowerShell 获取内容的示例


[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

PowerShell 获取内容简介

PowerShell中的Get-Content用于从指定位置的文件(文本文件)或程序中读取内容。此 cmdlet 一次读取一个文件的内容并将其作为对象集合返回。从 PowerShell 3.0 开始,您可以从项目的开头或结尾获取指定的行数。

语法:

Get-Content
[-ReadCount <Int64>]
[-TotalCount <Int64>]
[-Tail <Int32>]
[-Path] <String[]>
[-LiteralPath] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-Delimiter <String>]
[-Wait]
[-Raw]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <String>]
[<CommonParameters>]

参数:

  • 路径:要读取的文件的路径。您可以提供一个或多个文件路径,但不能提供目录。允许使用通配符。
  • 读取计数:指定一次通过管道发送的内容的行数。默认值为 1 表示一次发送一行。如果将该值设置为 0,则会同时发送整个内容。该参数不会改变显示的内容,但会影响显示的时间。读取计数值越多,到达第一行所需的时间就越长,但总体操作时间会减少。
  • TotalCount:指定从开头开始显示的总行数。如果将该值设置为 10,则仅显示 10 行。默认值为-1,表示将显示所有行。它的别名是 Head 和 First。
  • 尾部:指定从文件末尾开始显示的总行数。它的别名是 Last。
  • 包含:包含参数是一个路径限定符,包含该路径中的所有项目。允许使用通配符 (*)。当您使用 -Ininclude 参数时,您必须提供项目的内容。例如,D:\temp\*,其中 (*) 指定目录的内容。
  • 排除:排除参数是一个路径限定符,用于排除该路径中指定的所有项目。允许使用通配符 (*)。使用 -Exclude 参数时,您必须提供项目的内容。例如,D:\Temp\*,其中 (*) 指定目录的内容。
  • 过滤器:过滤器参数比包含或排除更有效。它也是一个路径限定符;您可以对此参数使用通配符 (*)。
  • 强制:该函数从文件中检索内容,安全权限是唯一可以限制它的设置。 Force参数覆盖文件的只读属性或创建一个目录来完成文件路径。
  • 凭据:当文件位于不同的域或工作组中时,您可以使用该位置的文件的凭据来检索其内容。
  • 分隔符:从文件中检索内容时,它使用分隔符将文件拆分为字符串对象。默认分隔符是 (\n),即行结束符。
  • 等待:指定等待参数后,Powershell 控制台会保持文件打开状态并等待,直到通过输入 CTRL + C 或删除文件手动中断。在第二种情况下,将会出现非终止错误。等待不能与原始参数结合使用。
  • 原始:将多行作为单个字符串返回,但在输出中保留新行。
  • 编码:指定目标文件的编码类型。接受的编码值。

[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

  • AsByteStream:此参数是在 PowerShell 6.0 中引入的,指定是否应将内容读取为流的字节。
  • 流:我们需要使用此参数建立流。 一旦创建了不同的流,您就可以根据该流检索文件更改。
  • LiteralPath:此参数指定一个或多个位置的路径。与 -path 参数不同,您不能在此处指定通配符,因为该参数无法将字符解释为通配符。如果您的路径包含任何转义字符,请将它们标记在单引号下,PowerShell 会将其视为单个路径。
  • CommonParameters:使用以下常用参数,也称为高级函数参数。
    Verbose、Debug、ErrorAction、ErrorVariable、WarningAction、WarningAction、WarningVariable、OutBuffer、PipelineVariable 和 OutVariable。

PowerShell 获取内容的示例

PowerShell Get-Content 的示例如下:

例子#1

通过 Get-Content 读取文件。

在testreadC.txt文件中,我们存储了进程。

Get-Content -Path D:\Temp\testreadC.txt

输出:

[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

例子#2

带有 TotalCount 的 GC

Get-Content -Path D:\Temp\testreadC.txt -TotalCount 10

从头开始总共显示 10 行。

输出:

[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

例子#3

带尾部的 GC

Get-Content -Path D:\Temp\testreadC.txt -Tail 10

从底部开始总共显示 10 行。

输出:

[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

例子#4

带有 ReadCount 的 GC

Get-Content -Path D:\Temp\testreadC.txt -ReadCount 10 | Set-Content D:\Temp\ReadC.txt

上面的示例将一次发送 10 行到新文件 ReadC.txt。

例子#5

带分隔符的 GC

Get-Content D:\Temp\delim.txt -Delimiter '@'

上面的命令将用“@”字符分割文件内容,然后开始一个新行。

例如,

[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

例子#6

GC 与原始数据

Get-Content D:\Temp\testreadC.txt -Raw

上面的命令会将整个文件内容存储到单个字符串而不是数组中。我们可以如下检查行数。

输出:

[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

示例#7

带编码的 GC

Get-Content D:\Temp\testreadC.txt -Encoding Byte -TotalCount 10

选择编码为“字节”可确保数据采用字节格式。您可以选择其他格式,如上面参数说明中所述。

输出:

[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

例子#8

带流的 GC

Get-Content D:\Temp\stream1.txt -Stream $stream1

上述命令将保留stream1中的现有内容。识别同一文件中随新流添加的新内容很容易。

Set-Content D:\Temp\stream1.txt -Value "This is the new line" -
Stream $stream2
Get-Content D:\Temp\stream1.txt -Stream $stream2

输出:

[玩转系统] PowerShell 获取内容 | PowerShell 获取内容的示例

例子#9

带有过滤/包含/排除参数的 GC。

Get-Content D:\Temp\* -Filter Testread*

上述命令将读取文件名中以“TestRead”开头的所有文件。

Get-Content D:\Temp\* -Include *read*

上述命令将读取文件名中包含“Read”的所有文件。

Get-Content D:\Temp\* -Exclude Test*

上面的命令将排除文件名中以“Test”开头的所有文件,并从同一路径上的其他文件中读取内容。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯