(5) powershell 语法

 一、变量

$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

 

 

七、处理错误

 

 

posted @ 2020-03-21 08:38  富坚老贼  阅读(238)  评论(0编辑  收藏  举报