Power Shell 提供给用户变量的定义功能。

变量不需要首先声明(当然,处于统一性,对于一些全局变量还是建议首先进行声明,声明需要赋值),变量名称以$为前缀。如果调用“$a”,并未赋值,那么$a变量相当于未定义。

变量不需要声明类型,直接对变量赋值即可。有点类似 js脚本 var 变量的用法,变量数据类型变量最后一次赋值类型为准。

例如:


$a=1         # 变量$a是值类型

$b=”aa”    # 变量$b是字符串

$b=$a+1   # 变量$b编程值类型,值为2

备注:Power Shell 不区分大小写(当然字符串内容除外) #为单行注释符号,#号后内容全部认为是注释,目前好像没有段落注释和局部注释


定义变量的规则

  -变量可以是数字 $123

  -变量可以是字符串 $abc

  -变量可以是特殊字符 ${as#} 但是需要将特殊字符用{}包裹起来

写个很幼稚的例子:


$a=1

$b=2

$c=$a+$b

write $c

结果如下:

备注:变量是有生命周期的,如果把PS窗口关闭的话,所有的变量会自动释放掉,否则除非手动删除变量,变量一直存在。


当然,也可以功过cmdlet命令来操作变量,命令如下:


变量赋值方法:Set-Variable varName 100 (该方法有声明效果)
取值方法:    Get-Variable varName
清空值:      Clear-Variable varName
删除变量     Remove-Variable varName
取多个变量如var1 var2 var3地值:   Get-Variable var1,var2,var3

例子:

set-variable a 100

set-variable b 200

get-variable a

get-variable a,b

clear-variable a

get-variable a

remove-variable a

get-variable a

效果:

备注:最后的Error为什么?你说呢。。。


变量支持特殊赋值方法,其实就是当成字符串来拼接,很好用的。


$a=111

$b=222

$c=”$a , $b”

write $c

效果:

备注:用来拼接字符串不错的。


最后写个日期用法:


$date=Get-Date      #获取当前时间

write $date

$date.AddDays(3)   #当前时间加3天

write $date

效果:

备注:当然,AddDays可以用也就意味这AddMonth和AddYear也可以用了。正数可以,那么负数呢?


变量还是很有用的技巧的,适当使用变量可以提高脚本可读性,并且有助于简化代码和后期维护。