PowerShell Set-Item
将项目的值更改为命令中指定的值。 它更改变量或注册表项的值。 Windows PowerShell文件系统提供程序不支持此cmdlet。 在注册表驱动器中,例如HKLM:
和HKCU:
它会更改注册表项默认值中的数据。
语法1
Set-Item [-Path<String[]>] [-Force] [-PassThru] [-Filter <String[]>] [-Value<Object>] [-Exclude <String[]>] [-Include <String[]>] [-Credential <PSCredential>] [-WhatIf] [-Confirm] [<CommonParameters>]
语法2
Set-Item [[-Value] <Object>] [-LiteralPath <string[]>] [-Force] [-PassThru] [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-Credential <pscredential>] [-WhatIf] [-Confirm] [-UseTransaction] [<CommonParameters>]
-Path-Path
参数用于指定项目位置的路径,接受通配符。
-LiteralPath
-LiteralPath
参数用于指定一个或多个位置的路径。 此参数的值与键入时完全一样。 如果路径包含转义字符,则将其用引号引起来。 没有字符被解释为通配符。单引号告诉Windows PowerShell,它不应将任何字符解释为转义序列。
-Force-Force
参数允许cmdlet设置无法更改的项目,例如变量或只读别名。 即使使用-Force
参数,Set-Item
也无法覆盖安全权限。
-PassThru
-PassThru
参数用于将表示项目的对象传递到管道。 默认情况下,set-item
不会生成任何输出。
-Filter-Filter
参数指定用于限定-Path
参数的过滤器。 FileSystem提供程序是唯一支持使用过滤器的PowerShell提供程序。 此参数效率更高,因为提供程序在cmdlet获取对象时应用筛选器,而不是在访问对象后让Powershell筛选对象。
-Value
-Value
参数用于为项目指定新值。
-Exclude
此cmdlet在操作中排除的项目指定为字符串数组。-Exclude
参数的值限定-Path
参数。 输入模式或路径元素,例如*.txt
。 接受通配符。 仅当cmdlet包含项目的内容(例如C:\*
,通配符*
用于指定C:
目录的内容)时,-Exclude
参数才有效。
-Include
此cmdlet包括在操作中的项目被指定为字符串数组。 -Include
参数的值限定-Path
参数。 输入模式或路径元素,例如*.txt
。 允许使用通配符。 仅当cmdlet包含项目的内容(例如C:\*
)时,此命令才有效。通配符*
用于指定C:
目录的内容。
-WhatIf
-WhatIf
参数用于显示如果执行cmdlet将发生的情况。 该cmdlet并没有运行。
-Confirm
-Confirm
参数在运行cmdlet之前提示确认。
示例1: 创建别名
此示例中的cmdlet用于为记事本创建别名。
示例2: 修改提示功能
PS C:\Users\maxsu> set-item -path function:prompt -value {'MyPS' + $(get-date -format t) + " " + $(get-location) + '>> '} MyPS22:11 C:\Users\maxsu>> MyPS22:11 C:\Users\maxsu>>
此示例中的cmdlet用于更改提示功能,以便显示在路径之前的时间。