我是学习 powershell 的新手,希望最终能进一步加深我在其他程序中的经验。目前正在修读 It 课程和我的 powershell 课程,lopps 已成为我的敌人。在我们必须制作的一个脚本中,我们需要创建一个脚本,该脚本将在单击按钮后添加数组中输入的数字,在这种情况下,该按钮为“0”。我尝试过各种脚本,但不断收到错误,任何帮助将不胜感激,并请记住我是新来的,所以现在的响应越简单越好,它将帮助我,如果可能的话解释为什么我的代码是错误的
Do {
$input = Read-Host 'Enter variety of numbers and press 0 to add them together'
if ($input -eq '0') {
$sum = [int]$sum + ',' + [int]$sum
Write-Host 'Sum of numbers entered' $sum
}
}
while ($input -ne '0')
Run Code Online (Sandbox Code Playgroud)
首先,$input是一个自动变量,因此使用它进行用户输入会导致意外的行为。
请注意,Powershellish 方法是使用内置 cmdlet,例如Measure-Object可以对事物求和的命令。就像这样,
$i = Read-Host 'Enter variety of numbers, separated by space. Press <Enter> to add them together'
Write-host "The grand total is" ($i -split ' ' | measure-object -sum).sum
Run Code Online (Sandbox Code Playgroud)
输入作为字符串读入$i。由于字符串本身有点难以求和,因此-split使用运算符将其拆分为多个内容。空格' '用作分割的分隔符。结果是通过管道传输到的对象数组Measure-Object。它足够聪明,可以发现这些东西实际上是整数,因此求和是有意义的。由于 cmdlet 返回有关其输入的多个数字,.sum因此仅用于访问总和。