变量是Windows PowerShell的基本部分。 我们可以将所有类型的值存储在PowerShell变量中。 例如,可以存储命令的结果以及在表达式和命令中使用的元素,例如路径,名称,设置和值。它们专门用于存储对象,即Microsoft .NET Framework对象。
变量是存储数据的内存单位。 在Windows PowerShell中,变量的名称以美元符号($
)开头,例如$process
,$var
。 变量的名称不区分大小写,并且包含空格和特殊字符。 默认情况下,PowerShell中所有变量的值均为$null
。
注意:在Windows PowerShell中,特殊字符具有特殊含义。如果在变量名称中使用特殊字符,则需要将它们括在大括号
{}
中。
下面是一些有效和无效变量的示例:
有效的变量名称 | 无效的变量名称 |
---|---|
$myVariable |
myVariable |
$MyVariable_1 |
$my-variable |
{my-variable} |
$my variable |
使用赋值运算符(=
)将指定的值赋给变量,我们可以通过给变量赋值来创建变量。
以下是一些创建变量的示例:
示例1:
$vrb = 122
本示例中的命令将整数值122
分配给变量$vrb
。
示例2:
$mySubject = "PowerShell"
本示例中的命令创建一个名为$mySubject
的变量,并为其分配一个字符串值。 在此示例中,$mySubject
是一个字符串对象。
要显示变量的值,只需要在美元符号$
后跟变量的名称。
示例:
在本示例中,第二条命令$str
将变量的值显示为:"Welcome2XNTutor"
。
如果要更改变量的值,那么可以重新为变量分配一个新值。
示例:
上面屏幕中命令显示$number
变量的值。
以下屏幕中将更改$number
变量的值,并显示$number
变量的新值。
如果要删除变量的值,可使用clear-variable
cmdlet,或将变量的值设置为$null
。
示例:
如果要查看变量的类型,可以使用GetType()
方法。
PowerShell变量可以具有“作用域”,作用域确定了变量在何处可用。 要表示变量的作用域,请使用以下语法:
$[<scope-modifier>:]<name> = <value>
Windows PowerShell支持变量的以下范围修饰符:
全部变量:全局变量是在任何地方都有效的变量,即使在脚本和函数之外也是如此。要表示全局变量,请使用以下格式:
$global: variable = <value>
局部变量:可以在本地范围内创建的那些变量。默认情况下,变量具有局部作用域。 要表示局部变量,请使用以下格式:
$variable = <value>
脚本变量: 在脚本过程中创建的那些变量。 这些变量仅可用于创建它们的脚本。 要表示脚本变量,请使用以下格式:
$script: variable = <value>
以下是Windows PowerShell中不同类型的变量:
用户创建的变量
由用户创建和维护的那些变量称为用户创建的变量。在PowerShell命令行中创建的变量仅在PowerShell窗口打开时存在。 关闭PowerShell窗口时,变量也会被删除。 我们可以在具有局部,全局或脚本作用域的脚本中创建变量。
自动变量
存储PowerShell状态的那些变量称为自动变量。 PowerShell创建此类型的变量,然后由PowerShell维护(更改)其值以保持其准确性。 用户无法更改这些变量的值。
首选项变量
首选项变量是存储Windows PowerShell用户首选项的那些变量。 Windows PowerShell创建这种类型的变量,并使用默认值填充它们。 任何用户都可以更改首选项变量的值。