Windows Powershell For 循环

如果你知道循环的确切次数可以使用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

(0)

相关推荐

  • Windows Powershell ForEach-Object 循环

    对管道对象逐个处理 如果使用Get-WmiObject 获取系统中的服务,为了排版可能会也会使用Format-Table对结果进行表格排版. 复制代码 代码如下: PS C:Powershell> Get-WmiObject Win32_Service | Format-Table status,DisplayName -AutoSize status DisplayName ------ ----------- OK     Adobe Acrobat Update Service OK   

  • Windows Powershell Foreach 循环

    下面举两个例子: 复制代码 代码如下: $array=7..10 foreach ($n in $array) {     $n*$n }   #49 #64 #81 #100   foreach($file in dir c:\windows) {     if($file.Length -gt 1mb)     {         $File.Name     } }   #explorer.exe #WindowsUpdate.log 这里只为了演示foreach,其实上面的第二个例子可以

  • Windows Powershell Switch 循环

    Switch 本是多路分支的关键字,但是在Powershell中由于Switch支持集合,所以也可以使用它进行循环处理.下面举两个例子. 第一个将Foreach循环转换成Switch循环: 复制代码 代码如下: #使用Foreach循环 $nums=10..7 foreach($n in $nums) {     "n=$n" } n=10 n=9 n=8 n=7   #使用Switch循环 $nums = 10..7 Switch ($nums) { Default { "

  • Windows Powershell Switch 语句

    下面的例子将If-ElseIF-Else转换成Switch语句 复制代码 代码如下: # 使用 IF-ElseIF-Else If( $value -eq 1 ) {     "Beijing" } Elseif( $value -eq 2) {     "Shanghai" } Elseif( $value -eq 3 ) {     "Tianjin" } Else {     "Chongqing" }   # 使用 S

  • Windows Powershell IF-ELSEIF-ELSE 语句

    Where-Object 进行条件判断很方便,如果在判断后执行很多代码可以使用IF-ELSEIF-ELSE语句.语句模板: 复制代码 代码如下: If(条件满足){ 如果条件满足就执行代码 } Else { 如果条件不满足 } 条件判断必须放在圆括号中,执行的代码必须紧跟在后面的花括号中. 复制代码 代码如下: PS C:Powershell> $n=8 PS C:Powershell> if($n -gt 15) {"$n  大于 15 " } PS C:Powershe

  • Windows Powershell Do While 循环

    继续与终止循环的条件 do-while()会先执行再去判断,能保证循环至少执行一次. 复制代码 代码如下: PS C:Powershell> do { $n=Read-Host } while( $n -ne 0) 10 100 99 2012 世界末日 为什么不退出 因为条件不满足 怎样才能满足 请输入一个0,试一试 0 PS C:Powershell> 单独使用While 复制代码 代码如下: $n=5 while($n -gt 0) {     $n     $n=$n-1 } 5 4

  • Windows Powershell For 循环

    如果你知道循环的确切次数可以使用For循环,For循环属于计数型循环,一旦达到最大次数,循环就会自动终止.下面的例子通过循环求1-100的数列和. 复制代码 代码如下: $sum=0 for($i=1;$i -le 100;$i++) {     $sum+=$i } $sum For循环是特殊类型的While循环 在For循环开始的圆括号中,由分号隔开的语句为循环的控制条件,分别为:初始化,循环执行满足的条件,增量. For循环的控制语句第一个和第三个可以为空: 复制代码 代码如下: $sum

  • Windows Powershell 自动化变量

    Powershell 自动化变量 是那些一旦打开Powershell就会自动加载的变量. 这些变量一般存放的内容包括 用户信息:例如用户的根目录$home 配置信息:例如powershell控制台的大小,颜色,背景等. 运行时信息:例如一个函数由谁调用,一个脚本运行的目录等. PS> $HOME C:\Users\test PS> $currentProcessID=$pid PS> $currentProcessID 5356 PS> Get-Process -Id $pid H

  • Windows PowerShell是啥?看完本文你就懂它了

    引子 一直很羡慕Linux的命令提示符(当然他们叫Shell).正则表达式,管道,各种神奇的命令,组合起来就能高效完成很多复杂的任务.效率实在是高.流了n年的哈喇子以后,终于有幸用上了Win7,邂逅了cmd的升级版:Windows PowerShell.从此暗爽无比,原来Windows下也有这样的利器呀~ 看看下面的Windows脚本,不到15行有效代码.在Win7下只要右击脚本文件,选择Run with PowerShell,就会自动找到最占内存的10个进程,然后将它们占用的内存画成一个三维饼

  • Windows Powershell 介绍和安装

    Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境.你可以把它看成是命令行提示符cmd.exe的扩充,不对,应当是颠覆. powershell需要.NET环境的支持,同时支持.NET对象.微软之所以将Powershell 定位为Power,并不是夸大其词,因为它完全支持对象.其可读性,易用性,可以位居当前所有shell之首. 当前powershell有四版本,分别为1.0,2.0,3.0 ,4.0 如果您的系统是window7或者Windows Ser

  • Windows Powershell Where-Object 条件过滤

    过滤管道结果 使用Get-Process返回所有的当前进程 ,但是你可能并不对所有的进程感兴趣,然后通过每个Process对象的属性进行过滤.首先得知道每个对象支持那些属性. 复制代码 代码如下: PS C:Powershell> Get-Process | select -First 1 | fl * __NounName                 : Process Name                       : AcroRd32 Handles               

  • Windows Powershell使用管道

    管道并不是什么新事物,以前的Cmd控制台也有重定向的命令,例如Dir | More可以将结果分屏显示. 传统的Cmd管道是基于文本的,但是Powershell是基于对象. PS> ls | Sort-Object -Descending Name | Select-Object Name,Length,LastWriteTime | ConvertTo-Html | Out-File ls.html PS> Get-Content .ls.html Name Length LastWriteT

  • Windows Powershell属性:描述对象是什么

    属性可以描述一个对象,对象的属性可以被Powershell自动转换成文本,并且输出到控制台.因此可以通过这种方法查看任何对象,例如$host: 复制代码 代码如下: PS C:Powershell> $host Name              : ConsoleHost Version           : 2.0 InstanceId            : 7fefa1fa-fb2e-47c7-a867-c13b123da5c2 UI                : System.

随机推荐