一、变量
$a=3
$b=2
$c=$a+$b
$c
同时赋值
$a,$b=3,2
查看正在使用的变量
ls variable:
删除变量a
del variable:a
二、数组
返回命令是数组类型,没一行为一个元素
$IPcfg=ipconfig
$IPcfg[4] #第5行 #无线局域网适配器 WLAN:
$IPcfg.Count # 返回数组元素
创建数组
#创建一个数组
$arr=1,3,'abc',5
$arr
#创建连续数组
$arr1=1..5
$arr1
使用索引下标访问数组
$arr1=1..5
$arr1[0]
添加元素
$arr1+=6
三、运算符
1.比较运算符
-eq :等于
-ne :不等于
-gt :大于
-ge :大于等于
-lt :小于
-le :小于等于
-contains :包含
-notcontains :不包含
2.布尔运算
-and :和
-or :或
-xor :异或
-not :逆
3.求反
-not
四、判断
1.if-else
$a=4
if($a -gt 3){
"$a ok1" #单引号与双引号的区别, 双引号可以输出变量的值
}elseif($a -eq 3){
'ok2'
}else{
'ok3'
}
2.switch
$value=3
switch($value)
{
1 {"Beijing"}
2 {"Shanghai"}
3 {"Tianjin"}
4 {"Chongqing"}
}
3.Where-Object
通过条件判断过滤管道结果
Get-Process | Where-Object {$_.Name -eq "WeChatApp"}
五、循环
1. foreach
$array=7..10
foreach ($n in $array)
{
$n*$n
}
'-----------------------------------'
foreach($file in dir c:\windows)
{
if($file.Length -gt 1mb)
{
$File.Name
}
}
2.while
$n=5
while($n -gt 0)
{
$n
$n=$n-1
}
3.do -while
先执行,后判断
$n=5
do{
$n
$n=$n-1
}
while($n -gt 5)
4.for
$sum=0
for($i=1;$i -le 100;$i++)
{
$sum+=$i
}
$sum
5.switch
$nums = 10..7
Switch ($nums)
{
Default { "n= $_" }
}
$nums = 10..7
Switch ($nums)
{
{($_ % 2) -eq 0} {"$_ 偶数"}
{($_ % 2) -ne 0} {"$_ 奇数"}
}
6.跳出
break,continue
六、函数
1. 创建函数
Function func(){"start"}
func
2.传递参数
(1)使用 $args 传递任意数量参数
Function func()
{
if($args.Count -eq 0)
{
"No argument!"
}
else
{
$args | foreach {"Hello,$($_)"}
}
}
func tom lilei
(2)指定参数
function func($str1,$str2)
{
return $str1+$str2
}
func hello world
(3)默认值
function func($str1="ni",$str2="hao")
{
return $str1+$str2
}
func hello
七、处理错误