Set-Variable 帮助信息

本文介绍PowerShell中的Set-Variable命令,用于为变量赋值或创建新变量。文章详细解释了命令的语法、参数及其用途,并提供了示例演示如何使用不同选项进行变量管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
如下说明是翻译: help Set-Variable 产生的帮助信息.
译者: Edengundam(马涛)
 
Set-Variable
 
大纲
为变量设值. 如果该变量不存在, 则创建该变量.
 
语法
Set-Variable [-name] <string[]> [[-value] <Object>] [-include <string[]>] [-exclude <string[]>] [-scope <string>] [-description <string>] [-option {<None> | <ReadOnly> | <Constant> | <Private> | <AllScope>}] [-force] [-passThru] [-whatIf] [-confirm] [<CommonParameters>]
 
详细描述
为变量设值. 如果该变量不存在, 则创建该变量.
 
参数
 
-name <string[]>
指定变量名称. (译者注: 此处允许使用通配符, 同时对多个变量进行赋值.)
 
强制参数?
true
参数位置?
1
默认值
N/A – 必须指定变量名
允许从管道绑定输入?
true (根据属性名)
允许通配符扩展?
true
 
-include <string[]>
设置此cmdlet执行时, 哪些对象将被处理. (译者注: 允许使用通配符, 类似过滤器, 匹配那些需要进行赋值的)
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
true
 
-exclude <string[]>
设置此cmdlet执行时, 哪些对象将被忽略. (译者注: 允许使用通配符, 类似过滤器, 过滤不要赋值的参数)
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
true
 
-scope <string>
指定该变量的生存作用域(译者注: 原文此处使用了单词export, 在其他的shell, 一般父进程通过export将变量传递给子进程. ). 此值可以是命名作用域: "global", "local""script", 也可以是一个相对当前作用于的值(此值范围是从0到当前活动的作用域数量. 0代表当前作用域, 1代表父作用域).
 
强制参数?
false
参数位置?
named
默认值
local
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-value <Object>
指定该变量的值.
 
强制参数?
false
参数位置?
2
默认值
Null
允许从管道绑定输入?
true (根据值, 根据属性名)
允许通配符扩展?
false
 
-description <string>
指定变量的描述信息.
 
强制参数?
false
参数位置?
named
默认值
Null
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-option <ScopedItemOptions>
修改变量的选项属性值. 合法取值为:
 
·         None: 无选项. (默认)
·         ReadOnly: 只有使用参数Force才能将参数删除或更改.
·         Constant: 参数不可以被删除或更改. 只有在创建新变量时才能指定选项Constant, 所以你无法对已经存在的变量设置Constant选项.
·         Private: 只在参数Scope指定的作用域中可见(译者注: 其它作用域访问可能得到$null, 可以用Test-Path进行测试. ).
·         AllScope: 变量将被拷贝到所有的作用域中.
 
如下列出此参数接受的值:
 
·         None
·         ReadOnly
·         Constant
·         Private
·         AllScope
 
强制参数?
false
参数位置?
named
默认值
null
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-force <SwitchParameter>
在不破坏安全性的前提下, 能够避免影响命令成功执行的限制条件, 例如: 更改已经存在的变量名(译者注: 参数选项为ReadOnly.). 设置变量时, 用来尽最大努力执行操作(译者注: 设置为Constant则不能成功).
 
强制参数?
false
参数位置?
named
默认值
False
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-passThru <SwitchParameter>
输出此命令创建的对象到管道中. 默认情况下, 此命令不会将对象输出到管道.
 
强制参数?
false
参数位置?
named
默认值
False
允许从管道绑定输入?
false
允许通配符扩展?
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-Variable -detailed".需要技术信息, 输入"Get-Help Set-Variable -full".
 
如果需要为该命令提供多个参数, 请使用逗号进行分隔. 例如, "<parameter-name> <value1>, <value2>".
 
1
 
C:/PS>set-variable -name desc -value "a description"
c:/PS>get-variable -name desc
 
这两个命令首先为名叫"desc"的变量设置值"a description", 然后再取该变量的值.
 
2
 
C:/PS>set-variable -name processes -value (Get-Process) -option constant -scope global -description "All processes" -passthru | format-list -property *
 
此命令首先创建了一个包含机器上所有进程的全局只读变量, 然后显示变量的所有属性.
 
命令首先使用Set-Variable cmdlet创建变量. 通过使用参数Passthru将会创建一个表示该变量的对象, 通过管道运算符 (|)将对象传递给Format-List cmdlet. 使用为命令Format-List的参数Property指定值(*), 来显示新创建变量的属性值.
 
命令中的"(Get-Process)", 将被执行的命令放在括号中, 来确保在赋值前, 首先执行该命令. 否则, 变量将包含单词"Get-Process".
 
相关链接
Get-Variable
New-Variable
Remove-Variable
Clear-Variable
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值