通过我的所有搜索,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
循环。
答案 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()
,以确保您比较相同的类型。