如下说明是翻译: help Set-Item 产生的帮助信息.
译者: Edengundam(马涛)
Set-Item
大纲
将项目的值改变为命令中所指定的值.
语法
Set-Item [-path] <string[]> [[-value] <Object>] [-force] [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-passThru] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]
Set-Item [-literalPath] <string[]> [[-value] <Object>] [-force] [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-passThru] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]
详细描述
Set-Item cmdlet改变项目值为命令指定的值, 例如: 变量或注册表键.
参数
-path <string[]>
设定新项目的路径位置. 此处允许使用通配符.
强制参数?
|
true
|
参数位置?
|
1
|
默认值
|
N/A - 必须指定路径名
|
允许从管道绑定输入?
|
true (根据属性名)
|
允许通配符扩展?
|
true
|
-value <Object>
为项目指定新值.
强制参数?
|
false
|
参数位置?
|
2
|
默认值
|
<Provider specific>
|
允许从管道绑定输入?
|
true (根据值,根据属性名)
|
允许通配符扩展?
|
false
|
-force <SwitchParameter>
在不破坏安全性的前提下, 能够避免影响命令成功执行的限制条件, 例如: Force参数能够覆盖具有只读属性的文件或创建路径中的必要成分, 但是不会改变人和文件的权限.
强制参数?
|
false
|
参数位置?
|
named
|
默认值
|
False
|
允许从管道绑定输入?
|
false
|
允许通配符扩展?
|
false
|
-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
|
-credential <PSCredential>
使用其他凭证进行资源访问认证. <Credential>代表着用户名(例如: "User01"或"Domain01/User01") 或者PSCredential对象(例如: 通过Get-Credential cmdlet取得的对象). 如果此处使用用户名, 命令执行时会提示输入该用户密码. 尽管此参数出现, 但是并非所有Windows PowerShell核心cmdlets或providers支持此功能.
强制参数?
|
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".
输入类型
任意类型
注意
更多信息, 输入"Get-Help Set-Item -detailed".需要技术信息, 输入"Get-Help Set-Item -full".
Set-Item cmdlet不能够被Windows PowerShell文件系统provider支持. 改变文件系统中项目的值使用Set-Content.
在Registry的HKLM: 和HKCU: 驱动器中, Set-Item改变注册表键值中的数据(默认). 要创建或改变注册表键的名称, 使用New-Item和Rename-Item. 要改变注册表的名称和数据, 使用New-ItemProperty, Set-ItemProperty和Rename-ItemProperty.
如果需要为该命令提供多个参数, 请使用逗号进行分隔. 例如, "<parameter-name> <value1>, <value2>".
你可以使用Set-Item内建别名"si". 需要更多信息, 查看 About_Alias.
例1
C:/PS>set-item -path alias:np -value c:/windows/notepad.exe
此命令为Nodepad创建别名"np".
例2
C:/PS>set-item -path env:UserRole -value Administrator
此命令使用Set-Item cmdlet改变环境变量"UserRole"的值为"Administrator".
.
例3
C:/PS>set-item -path function:prompt -value {'PS '+ $(Get-Date -format t) + " " + $(Get-Location) + '> '}
此命令使用Set-Item cmdlet改变函数"prompt"定义, 使其在目录前显示时间.
例4
C:/PS>set-item -path function:prompt -options "AllScope,ReadOnly"
此命令为函数"prompt"设置AllScope和ReadOnly选项. 此命令使用了Set-Item cmdlet 的动态参数Options. 参数Options只有在使用Set-Item操作Alias或Function provider时才有效.
相关链接
Get-Item
New-Item
Remove-Item
Clear-Item
Invoke-Item
Rename-Item
Move-Item
Copy-Item
about_namespace