我正在尝试编写一个脚本来倒计算用户输入的任何数字。
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。
有什么方法可以解决这个问题?
问候
答案 0 :(得分:1)
尝试:
do {
$outputString = read-host
$outputString -= [int]1
}
until ($outputstring -eq 0)
首先,egal运算符为-eq
而不是=
第二次,如果您希望它打破循环,您需要为$outputstring
分配值:
$outputString -= [int]1
$outputString = $outputString - [int]1
答案 1 :(得分:1)
这个怎么样?
do {
$outputString = read-host enter a number
} while ($outputstring -notmatch '^\d+$')
if($outputstring -gt 0)
{
$outputstring..0 | ForEach-Object{
$_
Start-Sleep -Milliseconds 250
}
}