1

我正在尝试编写一个脚本来计算用户输入的任何数字。

Write-Host "$Value1"

[int]$Value1 - [int]1

do {
$outputString = read-host
$outputString - [int]1
}

until ($outputstring=0)

$Value1定义用户输入的数字。在我看来,初始值减去 1,然后$outputString应该获取读取主机信息并减去 1,直到它达到 0。此时我得到的唯一输出是写入主机“ [int]$Value1 - [int]1”,输出减去 1。但是它不会循环,直到它达到 0。有什么办法可以解决这个问题?问候

4

2 回答 2

1

这个怎么样?

do {
    $outputString = read-host enter a number
} while ($outputstring -notmatch '^\d+$')

if($outputstring -gt 0)
{
    $outputstring..0 | ForEach-Object{
        $_
        Start-Sleep -Milliseconds 250
    }
}
于 2012-11-30T14:42:23.727 回答
1

尝试 :

do {
$outputString = read-host
$outputString -= [int]1
}
until ($outputstring -eq 0)

首先,相等运算符 is-eq和 not=

其次$outputstring,如果你想打破循环,你需要赋值:

$outputString -= [int]1
$outputString = $outputString - [int]1
于 2012-11-30T13:14:21.343 回答