无限循环比较时间Powershell
问题描述:
我一直试图在PowerShell中创建代码,如果时间低于特定时间,但实验后总是会陷入无限循环,即使条件已经不满意无限循环比较时间Powershell
这里是我的代码:
$a = Get-Date
Write-Host $a
[datetime]$time = "05/12/2016 1:57:00 AM"
DO
{
if($a -gt $time) {break}
Write-Host "not yet time"
if($a -gt $time) {break}
}while($a -le $time)
CLS
Write-Host "done"
但它仍然是已经运行甚至凌晨1:59。关于如何正确比较时间的任何想法?我希望它运行到特定的时间,或者我希望它运行至少2个小时。
答
因为只输出从分配到Get-Date
$a
一次,它从来没有更新,您要执行(3次)循环运行,每次完全相同的比较。
呼叫Get-Date
在循环体或条件来获取更新时间:
[datetime]$time = "05/12/2016 1:57:00 AM"
do {
Write-Host "not yet time"
}while($(Get-Date) -le $time)
cls
Write-Host "done"
WOW对不起,我太傻忽视这一点。我的错! 谢谢你! – nciacrklo