PowerShell Get-Content
用于在指定位置获取项目的内容。 gc
,cat
和type
是此cmdlet的别名。
语法1
Get-Content [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-Force] [-Path] <string[]> [-ReadCount <long>] [-TotalCount <long>] [-Tail <int>] [-Credential <pscredential>] [-UseTransaction] [-Delimiter <string>] [-Wait] [-Raw] [-Encoding {Unknown | String | Unicode | Byte | BigEndianUnicode | UTF8 | UTF7 | UTF32 | Ascii | Default | Oem | BigEndianUTF32}] [-Stream <string>] [<CommonParameters>]
语法2
Get-Content [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-Force] [-LiteralPath <string[]>] [-ReadCount <long>] [-TotalCount <long>] [-Tail <int>] [-Credential <pscredential>] [-UseTransaction] [-Delimiter <string>] [-Wait] [-Raw] [-Encoding {Unknown | String | Unicode | Byte | BigEndianUnicode | UTF8 | UTF7 | UTF32 | Ascii | Default | Oem |BigEndianUTF32}] [-Stream <string>] [<CommonParameters>]
-Path - 此参数用于指定项目当前位置的路径,接受通配符。 默认情况下,其值为当前目录。
-LiteralPath - 此参数用于指定位置的路径。 它的值与键入时完全一样。 如果路径包含转义符,则将其用单引号引起来。单引号告诉Windows PowerShell,它不应将任何字符解释为转义序列。
-Destination - 此参数用于指定复制项目的位置的路径。 默认情况下,其值为当前目录。 可以使用通配符,但是输出必须指定一个位置。
在-Destination
- 此参数的值中指定一个新名称,以重命名要移动的项目。
-Force - 此参数用于强制执行命令而不要求用户确认。
-Filter - 此参数指定用于限定-Path
参数的过滤器。 FileSystem提供程序是唯一支持使用过滤器的PowerShell提供程序。 此参数效率更高,因为提供程序在cmdlet获取对象时应用筛选器,而不是让Powershell在访问对象后筛选对象。
-Include- 此cmdlet包括在操作中的项目被指定为字符串数组。 -Include
参数的值限定-Path
参数。 输入模式或路径元素,例如*.txt
。 仅当cmdlet包含项目的内容(例如C:\*
,通配符*
用于指定C:
目录的内容)时,-Include
参数才有效。
-Exclude - 此cmdlet在操作中排除的项目指定为字符串数组。 -Exclude
参数的值限定-Path
参数。 输入模式或路径元素,例如*.txt
。它接受通配符。 仅当cmdlet包含项目的内容(例如C:\*
,通配符*
用于指定C:
目录的内容)时,-Exclude
参数才有效。
-ReadCount - 此参数用于指定一次通过管道发送多少行内容。 它不会更改要显示的内容,但是会影响显示内容所花费的时间。
-TotalCount - 此参数用于指定从文件开头开始的行数。也可以使用该参数的别名First
或Head
,功能相同。
-Tail - -Tail参数用于指定从文件末尾开始的行数。它是Windows PowerShell 3.0中引入的,还可以使用该参数的别名Last
。
-Delimiter - 此参数用于在读取文件时将文件分为多个对象。 通过指定文件分隔符作为分隔符,可以使用此参数将大文件拆分为较小的文件。它被保留并成为每个文件部分中的最后一项。 它是一个动态参数,由FileSystem提供程序添加到Get-Content
cmdlet。
-Wait - -Wait
参数用于在输出所有现有行后保持文件打开。它是一个动态参数,由FileSystem提供程序添加到Get-Content
cmdlet。 该参数不能与-Raw
参数结合使用。
-Raw - 此参数用于忽略换行符,并以单个字符串返回文件的全部内容。 在文件中,默认情况下将换行符用作定界符,以将输入分隔为字符串数组。 它是Windows PowerShell 3.0中引入的。它是一个动态参数,由FileSystem提供程序添加到Get-Content cmdlet。
-WhatIf - 此参数显示执行cmdlet将发生的情况。
-Confirm - 此参数在运行cmdlet之前提示确认。
-Value - 此参数用于指定要添加的内容。不能通过输入文件的路径来指定文件的内容,因为路径只是一个字符串。可以使用Get-content
来获取内容并将其传递给-Value
参数。
-Encoding - 此参数用于指定目标文件的编码类型。默认情况下,其值为UTF8NoBOM
。 它是一个动态参数,FileSystem提供程序将其添加到Add-Content
。 -Encoding
参数仅在文件系统驱动器中起作用。以下是此参数可接受的值:ASCII
,OEM
,UTF8
,UTF8BOM
,UTF8NoBOM
,Unicode
,BigEndianUnicode
,UTF32
,UTF7
。
-NoNewLine - 此参数指示此cmdlet不会向内容添加新行或回车。 在输出字符串之间不会插入任何换行符或空格,并且在最后一个输出字符串之后也不会添加任何换行符。
-Stream - 此参数用于为内容指定备用数据流。如果流不存在,它将创建它。参数接受通配符。
示例1: 获取文本文件的内容
PS E:\xntutor\powershell> get-content file1.txt The Add-Content cmdlet appends the content to the specified item or a file, such as adding words to the file. We can specify the content by typing it in the cmdlet or by specifying an object which contains the content. 2020/1/31 最好一行~ PS E:\xntutor\powershell>
此示例中的cmdlet用于在当前目录中的PowerShell控制台上显示file1.txt
文件的内容。
示例2: 从文本文件中获取前n
行的内容
PS E:\xntutor\powershell> get-content file2.txt -totalcount 6 Line-1 Line-2 Line-3 Line-4 Line-5 Line-6 PS E:\xntutor\powershell>
此示例中的cmdlet显示文本文件中的特定行数。 -Totalcount
参数显示内容的前6
行。
示例3: 从文本文件中获取特定的内容行
PS E:\xntutor\powershell> (get-content file2.txt -totalcount 6)[2] Line-3 PS E:\xntutor\powershell>
此示例中的cmdlet用于显示该内容的特定行。
示例4: 从文本文件获取内容的最后一行
PS E:\xntutor\powershell> get-content file2.txt -tail 2 ... ... PS E:\xntutor\powershell> get-content file2.txt -tail 4 Line-7 Line-8 ... ... PS E:\xntutor\powershell>
此示例中的cmdlet显示文件中内容的最后2行和4行。 -Tail
参数获取文件的最后N行。