2016-04-12 25 views
1

我有以下代码:如何在PowerShell中为循环变量设置约束?

$SE = 215 

function F 
{ 
    Param ($OE) 
    For ($iteration = 1; $iteration -le 100; $iteration++) 
    { 
     Write-host "Iteration" $iteration 
     $result = $OE - 1 
     $OE = $result 
     $result 

     ForEach ($input in $result) 
     { 
      $OPT = 5 * [double]$Steel.Force * 1000 * ([math]::pow([double]$Steel.L, 4))/(384 * $input * ([math]::pow(10, 9)) * [double]$Steel.I * ([math]::pow(10, -8))) 
      $OPT 
     } 
    } 
} 
F -OE $SE 

我想把约束两个变量:$result$OPT。例如,当$result -le 205和/或$OPT -ge 5迭代将停止。目前,迭代将继续运行,直到$iteration = 100。我试图添加一个do{} While()循环,但它不起作用。有时脚本卡住了。任何想法?

回答

0

您可以使用break退出循环。

例如:

if ($result -le 205 -and $OPT -ge 5) { break } 

你可以阅读更多关于它在这里: https://technet.microsoft.com/en-us/library/hh847873.aspx

+0

如果我的'ForEach循环后,把这个代码。它实际上只能在'$ OPT -ge 5'时破坏。但我会做一些进一步的研究。谢谢。 – rock