首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Powershell中创建一个while循环来计数小于10到0的数字

如何在Powershell中创建一个while循环来计数小于10到0的数字
EN

Stack Overflow用户
提问于 2015-04-17 02:32:59
回答 3查看 5.8K关注 0票数 1

我不知道在Powershell中,while循环是如何工作的。我需要帮助创建一个while循环,在Powershell中计数10..0中的数字。

代码语言:javascript
复制
 $a -eq 10
 while $a -lt 10
 { $a--}

但什么都没发生。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-17 02:55:24

Pax糖尿病回答了您的问题,并很好地指出了代码和逻辑中的缺陷。我只把这个答案作为While循环的一个简单的替代方案来添加,因为它可以简单地从10下降到0。PowerShell将通过执行NumberA..NumberB或在您的情况下将数字从起点迭代到终点:

代码语言:javascript
复制
10..0

从这里开始,如果您想使用这些数字执行一些操作,可以输入ForEach循环,例如:

代码语言:javascript
复制
10..0 | ForEach{"Launch in T minus $_";start-sleep -sec 1};"Blast-off!"

请考虑这个答案纯粹是教育性的。

票数 2
EN

Stack Overflow用户

发布于 2015-04-17 02:40:12

首先,$a -eq 10不将$a设置为10,它计算表达式“to $a等于10”,并给出一个真/假值。你需要的是:

代码语言:javascript
复制
$a = 10

其次,即使你把它正确地设置为10,你的while循环只有在它小于10的时候才会启动,而它不是。

相反,当它大于或等于零时,您需要继续。

根据这些信息,您可以通过以下方式从10到0计数:

代码语言:javascript
复制
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:

代码语言:javascript
复制
10..0 | foreach { echo $_; }
票数 3
EN

Stack Overflow用户

发布于 2015-04-17 02:56:52

您也可以在PowerShell中像这样循环。

代码语言:javascript
复制
PS> (10..0)|%{$_}
10
9
8
7
6
5
4
3
2
1
0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29689244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档