PowerShell Get-Date не обновляется в цикле for - PullRequest
0 голосов
/ 27 августа 2018

У меня есть следующий код:

$date=  "{0:T}" -f (get-date)

for($i=1; $i -le 18000; $i++){
 if (Test-Connection 8.8.8.8 -count 1 -quiet )
  {
    write-Host "Success"
   }
  else
   {
   Add-Content $LogFile "`r`n`r`n Ping Failed at at " $date " `r`n "
  }
    Start-Sleep -Seconds 1
}

Проблема в том, что мой $date всегда остается статичным.Это означает, что при сбое пинга время всегда одинаково

Почему это так и как я могу это исправить?

1 Ответ

0 голосов
/ 27 августа 2018

Это потому, что Get-Date выполняется только один раз (вы присваиваете его переменной, она не является частью цикла for). Решение: вы должны поместить его в цикл for:

for($i=1; $i -le 18000; $i++){
 if (Test-Connection 8.8.8.8 -count 1 -quiet )
  {
    write-Host "Success"
   }
  else
   {
   $date=  "{0:T}" -f (get-date)
   Add-Content $LogFile "`r`n`r`n Ping Failed at at " $date " `r`n "
  }
    Start-Sleep -Seconds 1
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...