对于在重复条件中使用-eq的循环

时间:2017-08-22 20:01:18

标签: xml powershell for-loop powershell-v5.0

通过我的所有搜索,PowerShell的for循环的所有示例都有-lt重复条件,例如:

for ($i=0; $i -lt 290; $i++) {$i}

但以下情况不起作用:

for ($i=0; $i -eq 290; $i++) {$i}

这是PowerShell的已知问题吗?我正在尝试使用XML .Count(只读)来表示我的重复条件,-lt不是一个选项而不添加更多行代码来将变量赋值给XML {{ 1}}然后将所述数字递增为1.然后使用.Count运行for循环。

2 个答案:

答案 0 :(得分:1)

如有疑问,请阅读documentation(强调我的):

  

<强>语法

     

以下显示For语句语法。

     
for (>init>; <condition>; <repeat>)
{<statement list>}
     

[...]

     

&lt; condition&gt;占位符表示For语句中解析为true或false布尔值的部分。每次For循环运行时,Windows PowerShell都会评估条件。如果该语句为true,则运行命令块中的命令,并再次评估该语句。如果条件仍然为true,则语句列表中的命令将再次运行。 重复循环,直到条件变为假。

第二个示例中的条件是第一次迭代中的$false(0 -eq 290) ⇒ $false),因此循环立即终止。

答案 1 :(得分:0)

我自己从未在PowerShell中体验过这一点。也就是说,我肯定会在比较运算符的两边尝试.GetType(),以确保您比较相同的类型。