PowerShell Add-Content | PowerShell 追加到文件

17 Mar 2025 | 4 分钟阅读

Add-Content cmdlet将内容追加到指定的项目或文件,例如向文件中添加单词。我们可以通过在cmdlet中输入内容或通过指定包含内容的对象来指定内容。

语法


参数

-Path

-Path参数用于指定接收附加内容的项目的路径。 接受通配符。 cmdlet中给出的路径必须是项目路径,而不是容器路径。 如果我们使用逗号指定多个路径,我们可以分隔路径。

-LiteralPath

-LiteralPath参数用于指定一个或多个位置的路径。 它的值与键入的内容完全相同。 如果路径包含转义字符,请将其括在单引号中。 单引号告诉Windows PowerShell不应将任何字符解释为转义序列。 cmdlet中没有字符被解释为通配符。

-WhatIf

-WhatIf参数显示“如果cmdlet运行会发生什么”。 cmdlet不会执行。

-Confirm

-Confirm 参数在运行 cmdlet 之前提示确认。

-Value

-Value参数用于指定要添加的内容。 我们不能通过键入文件的路径来指定文件的内容,因为路径只是一个字符串。 我们可以使用Get-content cmdlet获取内容并将其传递给-Value参数。

-PassThru

-PassThru参数返回一个表示添加内容的对象。 默认情况下,此参数不会生成任何输出。

-Filter

-Filter 参数指定一个过滤器来限定 -Path 参数。 FileSystem 提供程序是唯一支持使用过滤器的 PowerShell 提供程序。 此参数更有效,因为提供程序在 cmdlet 获取对象时应用过滤器,而不是让 Powershell 在访问对象后过滤对象。

-Include

此 cmdlet 在操作中包含的项目指定为字符串数组。 -Include 参数的值限定了 -Path 参数。输入一个模式或一个路径元素,例如 *.txt。接受通配符。-Exclude 参数仅在 cmdlet 包含项目的内容时有效,例如 C:\*,通配符“*”用于指定 C: 目录的内容。

-Exclude

此 cmdlet 在操作中排除的项目指定为字符串数组。 -Exclude 参数的值限定了 -Path 参数。输入一个模式或一个路径元素,例如 *.txt。接受通配符。-Exclude 参数仅在 cmdlet 包含项目的内容时有效,例如 C:\*,通配符“*”用于指定 C: 目录的内容。

-Force

-Force参数允许将内容添加到只读文件并覆盖只读属性。

-Encoding

-Encoding参数用于指定目标文件的编码类型。 默认情况下,它的值为UTF8NoBOM。 这是一个动态参数,FileSystem提供程序将其添加到Add-Content cmdlet。 -Encoding参数仅在文件系统驱动器中有效。

此参数的可接受值为:

  • ASCII: 此值使用ASCII(7位)字符集的编码。
  • OEM: 此值使用MS-DOS和控制台程序的默认编码。
  • UTF8: 以UTF-8格式编码。
  • UTF8BOM: 它以带字节顺序标记(BOM)的UTF-8格式编码
  • UTF8NoBOM: 它以不带字节顺序标记(BOM)的UTF-8格式编码
  • Unicode: 它使用小端字节顺序以UTF-16格式编码。
  • BigEndianUnicode: 它使用大端字节顺序以UTF-16格式编码。
  • UTF32: 此值以UTF-32格式编码。
  • UTF7: 此值以UTF-7格式编码。

-NoNewLine

-NoNewLine参数指示此cmdlet不会向内容添加新行或回车符。 输出字符串之间不插入换行符或空格,并且在最后一个输出字符串之后不添加换行符。

-Stream

-Stream参数用于指定内容的备用数据流。 如果流不存在,它会创建它。 接受通配符。

示例

示例1:将字符串添加到指定文件

PowerShell Add-Content

在此示例中,cmdlet将值追加到当前目录中的指定文件。

示例2:将字符串添加到所有文本文件

PowerShell Add-Content

在此示例中,cmdlet将值追加到当前目录中的所有文本文件。

示例3:将日期添加到指定文件的末尾

PowerShell Add-Content

此示例中的cmdlet将日期追加到当前目录中的指定文件,并在PowerShell控制台中显示日期。

示例4:将指定文件的内容添加到另一个文件

PowerShell Add-Content

此示例从文件中获取内容并将其存储在变量中。 然后,该变量用于将内容追加到另一个文件中。

Get-Content cmdlet获取File1.txt的内容并将其存储在$get变量中。

Add-Content cmdlet使用$get变量的内容更新File2.txt文件。 Get-Content cmdlet显示File2.txt

示例5:创建一个新文件并复制内容

PowerShell Add-Content

此示例创建一个新文件并将现有文件的内容复制到新文件中。