Windows Powershell 定义变量

2019-09-30 15:46:36丽君

变量可以临时保存数据,因此可以把数据保存在变量中,以便进一步操作。

#定义变量
$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

查看正在使用的变量