计数器变量在do while循环内不增加

时间:2019-05-08 08:49:48

标签: powershell logic

我正在学校里学习PowerShell,并试图了解为什么它不起作用:

$y = 1
do {
    $count = 1
    echo $count
    Start-Sleep 1
    $count++
}
while ($y -eq 1)

echo "Finished"

此脚本的输出为:     1个     1个     1个     1个     1个     ...

这是什么问题?我希望计数会增加。

2 个答案:

答案 0 :(得分:0)

一些指针,可以在每个循环中重置计数器。您需要像在$ y变量中一样在循环之外创建它。另外,在单引号就足够的情况下,尽量不要使用双引号:)

$y = 1
$count = 1
do{
    echo $count
    Start-Sleep -s 1
    $count++
}while ($y -eq 1)
echo 'Finished'

答案 1 :(得分:0)

修复非常简单。在while循环内,您将在每个循环上重置$ count = 1。结果,您需要在while循环外声明$ count,然后让其在循环内递增。

$y = 1;
$count = 1;
do {
    echo $count;
    $count++;
}
while (condition)
echo "Finished";