我不知道在Powershell中,while循环是如何工作的。我需要帮助创建一个while循环,在Powershell中计数10..0中的数字。
$a -eq 10
while $a -lt 10
{ $a--}但什么都没发生。
发布于 2015-04-17 02:55:24
Pax糖尿病回答了您的问题,并很好地指出了代码和逻辑中的缺陷。我只把这个答案作为While循环的一个简单的替代方案来添加,因为它可以简单地从10下降到0。PowerShell将通过执行NumberA..NumberB或在您的情况下将数字从起点迭代到终点:
10..0从这里开始,如果您想使用这些数字执行一些操作,可以输入ForEach循环,例如:
10..0 | ForEach{"Launch in T minus $_";start-sleep -sec 1};"Blast-off!"请考虑这个答案纯粹是教育性的。
发布于 2015-04-17 02:40:12
首先,$a -eq 10不将$a设置为10,它计算表达式“to $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-ish:
10..0 | foreach { echo $_; }发布于 2015-04-17 02:56:52
您也可以在PowerShell中像这样循环。
PS> (10..0)|%{$_}
10
9
8
7
6
5
4
3
2
1
0https://stackoverflow.com/questions/29689244
复制相似问题