如何在Powershell中创建while循环以计数小于10到0的数字
我不知道while循环在Powershell中是如何工作的。我需要帮助创建一个while循环,该循环从10..0开始计算Powershell中的数字如何在Powershell中创建while循环以计数小于10到0的数字,powershell,while-loop,Powershell,While Loop,我不知道while循环在Powershell中是如何工作的。我需要帮助创建一个while循环,该循环从10..0开始计算Powershell中的数字 $a -eq 10 while $a -lt 10 { $a--} 但什么也没发生。如何才能更好地进行while循环?您推荐的任何书籍或文章都可以练习这种逻辑?首先,$a-eq 10不会将$a设置为10,它会计算表达式“does$a等于10”并给出真/假值。您需要的是: $a = 10 其次,即使您将其正确设置为10,您的while循环也
$a -eq 10
while $a -lt 10
{ $a--}
但什么也没发生。如何才能更好地进行while循环?您推荐的任何书籍或文章都可以练习这种逻辑?首先,
$a-eq 10
不会将$a
设置为10,它会计算表达式“does$a
等于10”并给出真/假值。您需要的是:
$a = 10
其次,即使您将其正确设置为10,您的while循环也只会在小于10时启动,而实际情况并非如此。这实际上是一件好事,因为它会运行很长时间:-)
相反,当它大于或等于零时,您需要继续
根据这些信息,您可以使用以下方法从10数到0:
PS C:\Pax> $a = 10; while ($a -ge 0) { echo $a; $a--; }
10
9
8
7
6
5
4
3
2
1
0
您还可以使用更强大的Powershell:
10..0 | foreach { echo $_; }
首先,
$a-eq 10
没有将$a
设置为10,它计算表达式“does$a
等于10”并给出真/假值。您需要的是:
$a = 10
其次,即使您将其正确设置为10,您的while循环也只会在小于10时启动,而实际情况并非如此。这实际上是一件好事,因为它会运行很长时间:-)
相反,当它大于或等于零时,您需要继续
根据这些信息,您可以使用以下方法从10数到0:
PS C:\Pax> $a = 10; while ($a -ge 0) { echo $a; $a--; }
10
9
8
7
6
5
4
3
2
1
0
您还可以使用更强大的Powershell:
10..0 | foreach { echo $_; }
paxdiablo很好地回答了您的问题并指出了代码和逻辑中的缺陷。我只添加这个答案作为
的简单替代,而循环可以从10倒计时到0。PowerShell将通过执行NumberA..NumberB或在您的情况下,从起点到终点迭代数字:
10..0
如果您想对这些数字进行处理,可以从那里通过管道进入ForEach循环,例如:
10..0 | ForEach{"Launch in T minus $_";start-sleep -sec 1};"Blast-off!"
请考虑这个答案纯粹是教育性的。< P/P> P.PaxDabLo回答了你的问题,并指出了你的代码和逻辑上的缺陷。我只添加这个答案作为的简单替代,而循环可以从10倒计时到0。PowerShell将通过执行NumberA..NumberB或在您的情况下,从起点到终点迭代数字:
10..0
如果您想对这些数字进行处理,可以从那里通过管道进入ForEach循环,例如:
10..0 | ForEach{"Launch in T minus $_";start-sleep -sec 1};"Blast-off!"
请考虑纯粹的教育性。
你也可以在PuthS壳中这样循环。
PS> (10..0)|%{$_}
10
9
8
7
6
5
4
3
2
1
0
您也可以在PowerShell中这样循环
PS> (10..0)|%{$_}
10
9
8
7
6
5
4
3
2
1
0
@sa99如果您觉得他回答了您的问题,请将他的答案标记为已接受(在他答案左侧的上/下票数附近打勾)。@paxdiablo这太棒了!!请指出While循环中的格式是否需要以$a=0的语句开头,因为。。。。。。。然后下一步是测试($a-ge 0)中的条件,以及我们使用echo和not write host的原因,或者我们可以在{……}中同时使用这两者。如果可能,这只是出于教育原因。或者如果您可以指向在线资源/教科书。非常感谢@sa99如果您觉得他回答了您的问题,请将他的答案标记为已接受(在他答案左侧的上/下票数附近打勾)。@paxdiablo这太棒了!!请指出While循环中的格式是否需要以$a=0的语句开头,因为。。。。。。。然后下一步是测试($a-ge 0)中的条件,以及我们使用echo和not write host的原因,或者我们可以在{……}中同时使用这两者。如果可能,这只是出于教育原因。或者如果您可以指向在线资源/教科书。非常感谢!!