如果你知道循环的确切次数可以使用For循环,For循环属于计数型循环,一旦达到最大次数,循环就会自动终止。下面的例子通过循环求1-100的数列和。
$sum=0
for($i=1;$i -le 100;$i++)
{
$sum+=$i
}
$sum
For循环是特殊类型的While循环
在For循环开始的圆括号中,由分号隔开的语句为循环的控制条件,分别为:初始化,循环执行满足的条件,增量。
For循环的控制语句第一个和第三个可以为空:
$sum=0
$i=1
for(;$i -le 100;)
{
$sum+=$i
$i++
}
$sum
For循环的特殊应用
上面的For循环示例停留在数字层面上,其实While循环能办到的事,For循环也可以,只是可能有时不方便而已。例如判断域名的例子:
for($domain="";!($domain -like "www.*.*");$domain=Read-Host "Input domain")
{
Write-Host -ForegroundColor "Green" "Please give a valid domain name."
}
Please give a valid domain name.
Input domain: www
Please give a valid domain name.
Input domain: mossfly.com
Please give a valid domain name.
下面的例子演示逐行读取文本文件
for($file=[IO.File]::OpenText("c:autoexec.bat") ; !($file.EndOfStream);$line=$file.ReadLine() )
{
$line;
}
$file.Close()
REM Dummy file for NTVDM