PowerShell Set-Content | PowerShell 写入文件17 Mar 2025 | 4 分钟阅读 PowerShell 的 Set-Content cmdlet 将新内容写入文件,或替换文件中的现有内容。 它与 Add-content cmdlet 不同,后者将内容追加到文件。 要将内容发送到 Set-Content cmdlet,我们可以在命令行上使用 -Value 参数,或者我们可以通过管道发送内容。 sc 是此 cmdlet 的别名。 语法参数-Path -Path 参数用于指定接收内容的项的路径。 接受通配符。 -LiteralPath -LiteralPath 参数用于指定到一个或多个位置的路径。 如果路径包含转义字符,请将其括在单引号中。 单引号告诉 Windows PowerShell 不应将任何字符解释为转义序列。 cmdlet 中没有任何字符被解释为通配符。 -Force -Force 参数用于强制 cmdlet 设置只读文件的内容。 它不覆盖安全权限。 -WhatIf -WhatIf 参数用于显示如果 cmdlet 执行会发生什么。 cmdlet 不会执行。 -Confirm -confirm 参数用于在运行 cmdlet 之前提示确认。 -Value -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: 目录的内容。 -NoNewLine 输入字符串之间没有插入换行符或空格,并且在最后一个输出字符串之后也没有添加换行符。 -Encoding -Encoding 参数用于指定目标文件的编码类型。 其默认值为 UTF8NoBOM。 它是 FileSystem 提供程序添加到 Set-Content cmdlet 的动态参数。 它仅在文件系统的驱动器中有效。 此参数的可接受值为:
-Stream -Stream 参数用于指定内容的备用数据流。 如果该流不存在,则此 cmdlet 会创建它。 不接受通配符。 此参数是在 Windows PowerShell 3.0 中引入的。 它是 FileSystem 提供程序添加到 Set-Content cmdlet 的动态参数。 它仅在文件系统的驱动器中有效。 示例示例 1:创建一个新文件并写入内容 ![]() 此示例中的第一个 cmdlet 创建一个新文件并将 Windows 操作系统写入该文件。 它使用 -Path 和 -Value 参数在当前目录中创建一个名为 pw.txt 的新文件。 此示例中的第二个 cmdlet 使用 Get-content cmdlet 在 PowerShell 控制台中显示 pw.txt 文件的内容。 示例 2:替换目录中现有文件的内容。 ![]() 此示例中的 cmdlet 替换当前目录中文件的内容。 此 cmdlet 使用 -Value 参数,该参数提供文本字符串 Hello PowerShell..!! 来替换文件中的现有内容。 示例 3:创建一个新文件并将系统日期和时间写入该文件 ![]() 此示例中的第一个 cmdlet 创建一个新文件并将系统的当前日期和时间写入当前目录中的文件。 Set-content cmdlet 使用 -Path 和 -Value 参数在当前目录中创建一个名为 dt.txt 的新文件。 -value 参数使用 Get-date cmdlet 获取当前日期和时间。 此示例中的第二个 cmdlet 使用 Get-Content cmdlet 在 PowerShell 控制台中显示 dt.txt 文件的内容。 |
我们请求您订阅我们的新闻通讯以获取最新更新。