举例&详解PowerShell中变量, 循环和条件

本篇将介绍PowerShell中的变量(Variable)和循环(Loop)和条件(Condition)。

初学者在PowerShell编写脚本时,总会遇到理解上面的问题。无论是你有编程基础还是没有编程基础,理解变量和循环都是编写PowerShell脚本必须要掌握的知识。

首先,变量 $。变量无非就是这个值是可变的,在PowerShell中变量使用$来表示的,变量不仅仅可以代表字符也可以代表功能。

举例:

变量是字符时:

$i=”Cool”
“This is $i”
“This is Cool”

变量是功能时:

$p = get-process bits
$p

变量是功能以及字符时:

$service = Get-Service bits
$service
$msg = “Service Name is $($service.Name)”
$msg
Service Name is bits

值得一提的是,在查看Service的时候,也可以通过Service ID来查看:

$services = Get-Service
$services[1]

其次,循环。循环无非就是让计算机重复的执行某项程序。

例如:

Do loop,简单重复,注意一定要有while的限制,不然loop会进入死循环。

#do loop
$i = 1
do
{
Write-Host “PowerShell is Cool! $i”
$i++
}
while ($i -lt 5)

While循环。

$i=5
while ($i -gt 0){
Write-Host “Scripting is Cool! $i”
$i–
}

Foreach循环,是非常常见也是非常实用的循环。

#Foreach
$services = Get-Service -Name b*
Foreach ($s in $services){
$s.DisplayName
}

For循环。

#For loop
For ($i=0;$i -lt 5; $i++){
$i
}

ForEach循环。

1..5 | ForEach-Object -Process {
start notepad
}

最后,条件。也就是说当满足某个条件时,执行某个程序。

举例:

If条件

If ($a -eq $b){
#commands
}elseif($c -ne $d){
#commands
}elseif($e -gt $f){
#commands
}else{
#commands
}

Switch条件

$status = 6
$status_text = switch ($status) {
0{‘Good’}
1{‘error’}
2{‘bad’}
3{‘Not Available’}
default {‘unknown’}
}
unknown