变量可以临时保存数据,因此可以把数据保存在变量中,以便进一步操作。
#定义变量 $a=10 $b=4 #计算变量 $result=$a*$b $msg="保存文本" #输出变量 $result $msg 40 保存文本
powershell 不需要显示地去声明,可以自动创建变量,只须记住变量的前缀为$.
创建好了变量后,可以通过变量名输出变量,也可以把变量名存在字符串中。但是有个例外单引号中的字符串不会识别和处理变量名。
选择变量名
在powershell中变量名均是以美元符”$”开始,剩余字符可以是数字、字母、下划线的任意字符,并且powershell变量名大小写不敏感($a和$A 是同一个变量)。
某些特殊的字符在powershell中有特殊的用途,一般不推荐使用这些字符作为变量名。当然你硬要使用,请把整个变量名后缀用花括号括起来。
PS C:test> ${"I"like $}="mossfly"
PS C:test> ${"I"like $}
mossfly赋值和返回值
赋值操作符为“=”,几乎可以把任何数据赋值给一个变量,甚至一条cmdlet命令
,为什么,因为Powershell支持对象,对象可以包罗万象。
PS C:test> $item=Get-ChildItem . PS C:test> $item Directory: C:test Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2011/11/23 17:25 ABC -a--- 2011/11/24 18:30 67580 a.html -a--- 2011/11/24 20:04 26384 a.txt -a--- 2011/11/24 20:26 12060 alias -a--- 2011/11/24 20:27 12060 alias.ps1 -a--- 2011/11/23 17:25 0 b.txt -a--- 2011/11/23 17:25 0 c.txt -a--- 2011/11/23 17:25 0 d.txt -a--- 2011/11/25 11:20 556 employee.xml -a--- 2011/11/24 17:37 7420 name.html -a--- 2011/11/28 15:30 63 ping.bat -a--- 2011/11/24 17:44 735892 Powershell_Cmdlets.html -a--- 2011/11/28 17:03 60 test.ps1 -a--- 2011/11/23 17:37 242 test.txt -a--- 2011/11/28 16:42 170 test.vbs PS C:test> $result=3000*(1/12+0.0075) PS C:test> $result 272.5
给多个变量同时赋值
赋值操作符不仅能给一个变量赋值,还可以同时给多个变量赋相同的值。
PS C:test> $a=$b=$c=123 PS C:test> $a 123 PS C:test> $b 123 PS C:test> $c 123
交换变量的值
要交换两个变量的值,传统的程序语言至少需要三步,并且还需定义一个中间临时变量。
$Value1 = 10 $Value2 = 20 $Temp = $Value1 $Value1 = $Value2 $Value2 = $Temp
在powershell中,交换两个变量的值,这个功能变得非常简单。
PS C:test> $value1=10 PS C:test> $value2=20 PS C:test> $value1,$value2=$value2,$value1 PS C:test> $value1 20 PS C:test> $value2 10
查看正在使用的变量










