本文概述
PowerShell Set-Content cmdlet将新内容写入文件或替换文件中的现有内容。它不同于Add-content cmdlet, 后者将内容附加到文件。要将内容发送到Set-Content cmdlet, 可以在命令行上使用-Value参数, 也可以通过管道发送内容。 sc是此cmdlet的别名。
句法
Set-Content
[-Path] <string[]>
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Value] <Object[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-UseTransaction]
[-NoNewline]
[-Encoding {Unknown | String | Unicode | Byte | BigEndianUnicode | UTF8 | UTF7 | UTF32 | Ascii | Default | Oem | BigEndianUTF32}]
[-Stream <string>]
[<CommonParameters>]
Set-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-NoNewline]
[-Encoding {Unknown | String | Unicode | Byte | BigEndianUnicode | UTF8 | UTF7 | UTF32 | Ascii | Default | Oem |BigEndianUTF32}]
[-Stream <string>]
[<CommonParameters>]
参数
-路径
-Path参数用于指定接收内容的项目的路径。接受通配符。
文学路径
-LiteralPath参数用于指定一个或多个位置的路径。如果路径包含转义符, 则将其用单引号引起来。单引号告诉Windows PowerShell, 它不应将任何字符解释为转义序列。 cmdlet中没有任何字符, 这被解释为通配符。
-力
-Force参数用于强制cmdlet设置只读文件的内容。它不会覆盖安全权限。
-如果
-WhatIf参数用于显示如果执行cmdlet将发生的情况。该cmdlet不执行。
-确认
-confirm参数用于在运行cmdlet之前提示确认。
-值
-Value参数用于指定项目的新内容。
直通
-PassThru参数用于返回表示内容的对象。默认情况下, 它不生成任何输出。
-过滤
-Filter参数用于指定过滤器以限定-Path参数。 FileSystem提供程序是唯一支持使用过滤器的PowerShell提供程序。此参数效率更高, 因为提供程序在cmdlet获取对象时应用筛选器, 而不是让Powershell在访问对象后筛选对象。
-包括
此cmdlet包括在操作中的项目被指定为字符串数组。 -Include参数的值限定-Path参数。输入模式或路径元素, 例如* .txt。接受通配符。仅当cmdlet包含项的内容(例如C:\ *, 通配符’*’用于指定C:目录的内容)时, -Exclude参数才有效。
-排除
此cmdlet在操作中排除的项目指定为字符串数组。 -Exclude参数的值限定-Path参数。输入模式或路径元素, 例如* .txt。接受通配符。仅当cmdlet包含项的内容(例如C:\ *, 通配符’*’用于指定C:目录的内容)时, -Exclude参数才有效。
-NoNewLine
在输入字符串之间没有插入任何换行符或空格, 并且在最后一个输出字符串之后未添加任何换行符。
-编码
-Encoding参数用于指定目标文件的编码类型。其默认值为UTF8NoBOM。它是一个动态参数, 由FileSystem提供程序添加到Set-Content cmdlet。它仅在文件系统的驱动器中起作用。
以下是此参数可接受的值:
- ASCII:它使用ASCII(7位)字符集的编码。
- Unicode:使用小尾数字节顺序以UTF-16格式编码。
- UTF7:以UTF-7格式编码。
- UTF8:它以UTF-8格式编码。
- BigEndianUnicode:使用big-endian字节顺序以UTF-16格式编码。
- OEM:它为MS-DOS和控制台程序使用默认编码。
- UTF8NoBOM:它以UTF-8格式编码, 没有字节顺序标记(BOM)
- UTF32:以UTF-32格式编码。
- UTF8BOM:它以字节序标记(BOM)以UTF-8格式编码
-流
-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文件的内容。
评论前必须登录!
注册