如果你知道循环的确切次数可以使用For循环,For循环属于计数型循环,一旦达到最大次数,循环就会自动终止。下面的例子通过循环求1-100的数列和。
1 2 3 4 5 6 | $sum =0 for ( $i =1; $i -le 100; $i ++) { $sum += $i } $sum |
在For循环开始的圆括号中,由分号隔开的语句为循环的控制条件,分别为:初始化,循环执行满足的条件,增量。
For循环的控制语句第一个和第三个可以为空:
1 2 3 4 5 6 7 8 | $sum =0 $i =1 for (; $i -le 100;) { $sum += $i $i ++ } $sum |
上面的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: wwwPlease give a valid domain name.Input domain: mossfly.comPlease give a valid domain name.
下面的例子演示逐行读取文本文件
1 2 3 4 5 6 | for ( $file = [IO.File] ::OpenText( "c:autoexec.bat" ) ; !( $file .EndOfStream); $line = $file .ReadLine() ) { $line ; } $file .Close() REM Dummy file for NTVDM |
联系客服