关闭

Set-Content 帮助信息

1776人阅读 评论(0) 收藏 举报
 
如下说明是翻译: help Set-Content 产生的帮助信息.
译者: Edengundam(马涛)
 
Set-Content
 
大纲
将新内容写入项目或替换项目中存在的内容为新内容.
 
语法
Set-Content [-path] <string[]> [-value] <Object[]> [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-passThru] [-force] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]
 
Set-Content [-literalPath] <string[]> [-value] <Object[]> [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-passThru] [-force] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]
 
详细描述
Set-Content cmdlet是一个字符串处理cmdlet将会写入或替换指定项目(例如: 文件)中的内容. Add-Content cmdlet将会向文件中追加内容, Set-Content替换现存的内容. 你可以在命令行输入或通过管道将新内容传递给Set-Content.
 
PARAMETERS
 
-path <string[]>
设定要接收输入内容的项目路径. 此处允许使用通配符.
 
强制参数?
true
参数位置?
1
默认值
N/A - 路径名必须指定
允许从管道绑定输入?
true (根据属性名)
允许通配符扩展?
true
 
-include <string[]>
改变指定的项目. 此参数值用于限定Path参数. 输入一个路径元素或模式, 例如"*.txt"(此参数允许通配符).
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
true
 
-exclude <string[]>
忽略指定的项目. 此参数值用于限定Path参数. 输入一个路径元素或模式, 例如"*.txt"(此参数允许通配符).
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
true
 
-filter <string>
指定特定provider格式或语言的过滤器.此参数值用于限定Path参数. 过滤器的语法取决于provider(是否支持通配符也依赖provider). 过滤器相比其他参数更加有效, 主要因为provider取值时候使用过滤器, 而不是等到provider将所有内容返回后, Windows PowerShell 过滤对象.
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-passThru <SwitchParameter>
输出此命令创建的对象到管道中. 默认情况下, 此命令不会将对象输出到管道.
 
强制参数?
false
参数位置?
named
默认值
False
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-value <Object[]>
指定项目的新内容.
 
强制参数?
true
参数位置?
2
默认值
 
允许从管道绑定输入?
true (根据值, 根据属性值)
允许通配符扩展?
true
 
-force <SwitchParameter>
在不破坏安全前提下, 能够避免影响命令成功执行的限制条件. 例如: Force参数能够覆盖具有只读属性的文件或创建路径中的必要成分, 但是不会改变人和文件的权限.
 
强制参数?
false
参数位置?
named
默认值
False
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-credential <PSCredential>
使用其他凭证进行资源访问认证. <Credential>代表着用户名(例如: "User01""Domain01/User01") 或者PSCredential对象(例如: 通过Get-Credential cmdlet取得的对象). 如果此处使用用户名, 命令执行时会提示输入该用户密码. 尽管此参数出现, 但是并非所有Windows PowerShell核心cmdletsproviders支持此功能.
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
true (根据属性名)
允许通配符扩展?
false
 
-literalPath <string[]>
指定接收内容的项目路径. Path不同, LiteralPath的值被直接使用, 不会对任何通配符进行解释. 如果路径中包含了转义字符, 需要将路径用单引号保护. 单引号指示Windows PowerShell不对字符串中的转义字符进行处理.
 
强制参数?
true
参数位置?
1
默认值
 
允许从管道绑定输入?
true (根据属性名)
允许通配符扩展?
false
 
-whatIf
描述执行此命令将会发生的现象, 不会真正执行此命令.
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-confirm
执行命令前提示你进行确认.
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
false
 
<公共参数>
此命令支持公共参数: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息, 输入, "get-help about_commonparameters".
 
输入类型
String
 
注意
 
更多信息, 输入 "Get-Help Set-Content -detailed". 需要技术信息, 输入 "Get-Help Set-Content -full".
 
Set-Content用来进行字符串处理. 如果你从管道中输入了非字符串类型的对象给Set-Content, 在写入之前它将会把对象转换为字符串. 将对象写入到文件, 使用Out-File.
 
如果需要为该命令提供多个参数, 请使用逗号进行分隔. 例如, "<parameter-name> <value1>, <value2>".
 
你可以使用Set-Content内建别名"sc". 需要更多信息, 查看About_Alias.
 
1
 
C:/PS>set-content -path C:/Test1/test*.txt -value "Hello, World"
 
此命令将会替换所有位于目录Test1中那些以"test"开头的文件内容为"Hello, World." 此例子用来展示如何在命令行上输入更新的内容.
 
2
 
C:/PS>get-date | set-content C:/Test1/date.csv
 
此命令创建了一个CSV文件保存当前的日期和时间. 它使用了Get-Date cmdlet来取得当前系统日期和时间. 管道运算符将输出结果发送给Set-Content, 此命令将会创建文件并写入内容.
 
如果目录Test1不存在, 命令将会失败, 但是如果只是文件不存在, 命令将会创建该文件.
 
3
 
C:/PS>(get-content Notice.txt) | foreach-object {$_ -replace "Warning", "Caution"} | set-content Notice.txt
 
此命令将会替换Notice.txt文件中所有"Warning""Caution".
 
首先是用Get-Content cmdlet获得Notice.txt中的内容. 管道运算符将输出结果发送给ForEach-Object cmdlet, 此命令将会对Get-Content取得的每一行内容应用表达式. 表达式使用"$_"符号来引用当前对象, 参数Replace指定了需要替换的文本.
 
另一个管道运算符将输出结果发送给Set-Content将会替换Notice.txt为新的内容.
 
Get-Content命令括起来的圆括号确保Get的操作在Set之前是完整的. 否则, 命令将会导致失败,这是由于两个命令试图访问同一个命令.
 
相关链接
Add-Content
Get-Content
Clear-Content
about_namespace
 
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:434589次
    • 积分:6999
    • 等级:
    • 排名:第3237名
    • 原创:110篇
    • 转载:10篇
    • 译文:138篇
    • 评论:87条
    最新评论