定义变量:
$a = [int]3 $b = [int]5
变量之间的计算:
1 PS C:\Users\he.shaobo> $a + $b 2 8
新建变量:
New-Variable -Name abc -Value 123 -Description IntVar -Force
多个变量之间的共同赋值:
$a=$b=$c=123
变量之间的赋值进行互换:
PS E:\host> $value1 = 1; PS E:\host> $value2 = 2; PS E:\host> $temp = $value2;$value2 = $value1;$value1 = $temp PS E:\host> $value1 2 PS E:\host> $value2 1
查看当前PowerShell Session 使用的变量,包含系统变量和自定义变量:
PS E:\host> ls variable: Name Value ---- ----- $ 4 ? True ^ Name a 123 abc 123 args {} b 123 c 123 ConfirmPreference High ConsoleFileName DebugPreference SilentlyContinue Error {System.Management.Automation.ParseException: At line:2 char:37... ErrorActionPreference Continue ErrorView NormalView
验证变量的存在,检验变量:
Test-Path variable:value1
删除变量:
del variable:value1
变量写保护
可以使用New-Variable 的option选项 在创建变量时,给变量加上只读属性,这样就不能给变量重新赋值了。
PS E:\host> New-Variable num -Value 100 -Force -Option readonly
PS E:\host> $num
100
PS E:\host> $num = $num +1
Cannot overwrite variable num because it is read-only or constant.
At line:1 char:1
+ $num = $num +1
+ ~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (num:String) [], SessionStateUnauthorizedAccessException
+ FullyQualifiedErrorId : VariableNotWritable
创建宏变量,这样的变量通常在整个脚本的环境下通常是不会变化的,或者说是影响全局的,且通常不会变的。
PS E:\host> new-variable project_ver -Value "1.1.12" -Option constant
PS E:\host> $project_ver
1.1.12
PS E:\host> $project_ver = 1
Cannot overwrite variable project_ver because it is read-only or constant.
At line:1 char:1
+ $project_ver = 1
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (project_ver:String) [], SessionStateUnauthorizedAccessException
+ FullyQualifiedErrorId : VariableNotWritable