📜  PowerShell设置内容

📅  最后修改于: 2021-01-08 02:16:50             🧑  作者: Mango

PowerShell设置内容| PowerShell写入文件

PowerShell Set-Content cmdlet将新内容写入或替换文件中的现有内容。它不同于Add-content cmdlet,后者将内容附加到文件。要将内容发送到Set-Content cmdlet,可以在命令行上使用-Value参数,也可以通过管道发送内容。 sc是此cmdlet的别名。

句法

Set-Content 
[-Path] 
[-Force] 
[-Credential ] 
[-WhatIf] 
[-Confirm]
[-Value]  
[-PassThru] 
[-Filter ] 
[-Include ] 
[-Exclude ] 
[-UseTransaction] 
[-NoNewline] 
[-Encoding {Unknown | String | Unicode | Byte | BigEndianUnicode | UTF8 | UTF7 | UTF32 | Ascii | Default | Oem | BigEndianUTF32}] 
[-Stream ]  
[]
Set-Content 
[-Value] 
-LiteralPath  
[-PassThru] 
[-Filter ] 
[-Include ]
[-Exclude ] 
[-Force] 
[-Credential ] 
[-WhatIf] 
[-Confirm] 
[-UseTransaction] 
[-NoNewline] 
[-Encoding {Unknown | String | Unicode | Byte | BigEndianUnicode | UTF8 | UTF7 | UTF32 | Ascii | Default | Oem |BigEndianUTF32}]
[-Stream ]  
[]

参量

-路径

-Path参数用于指定接收内容的项目的路径。字符被接受。

文学路径

-LiteralPath参数用于指定一个或多个位置的路径。如果路径包含转义字符,则将其用单引号引起来。单引号告诉Windows PowerShell,它不应将任何字符解释为转义序列。 cmdlet中没有字符,该字符被解释为通配符。

-力

-Force参数用于强制cmdlet设置只读文件的内容。它不会覆盖安全权限。

-如果

-WhatIf参数用于显示如果执行cmdlet将发生的情况。该cmdlet不执行。

-确认

-confirm参数用于在运行cmdlet之前提示确认。

-值

-Value参数用于指定项目的新内容。

直通

-PassThru参数用于返回表示内容的对象。默认情况下,它不生成任何输出。

-过滤

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

-包括

此cmdlet包括在操作中的项目被指定为字符串数组。 -Include参数的值限定-Path参数。输入模式或路径元素,例如* .txt 。字符被接受。只有当小命令包括项的内容,如C -Exclude参数是有效的:\ *,字符“*”用于指定所述C的含量:目录。

-排除

此cmdlet在操作中排除的项目指定为字符串数组。 -Exclude参数的值限定-Path参数。输入模式或路径元素,例如* .txt 。字符被接受。只有当小命令包括项的内容,如C -Exclude参数是有效的:\ *,字符“*”用于指定所述C的含量:目录。

-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文件的内容。