Многократное увеличение значения даты и времени в цикле?

#powershell

#powershell

Вопрос:

Я пытаюсь добавить временную метку к каждой строке файла. Пока это работает нормально, и я получаю следующее:

0,16.4,34,8120,2814,0,0,0,2.44,0,0,8192,200,10/08/2020 12:46:30
1,2.34,34,8120,2813,0,0,0,2.44,0,0,8192,200,10/08/2020 12:46:30

Однако я хочу, чтобы это продолжало увеличиваться на 30 секунд.

Я использую эту переменную time в своем скрипте:

 $parsedtime = [System.DateTime]::ParseExact($timeformat,'yyMMddHHmm',$null)
$parsedtime
  

Я могу заставить его добавлять нормально:

 $parsedtime2 = $parsedtime.AddSeconds(30);
  

Но я не могу заставить его продолжать добавлять 30 секунд к каждой временной метке:

 ForEach ($_ in $file) 
{
$_   ","   ($parsedtime).AddSeconds(30)
}
  

Возможно ли продолжать цикл AddSeconds внутри цикла ForEach?

Ответ №1:

Вы должны присвоить обратно переменной:

 ForEach ($_ in $file) 
{
    $parsedtime = $parsedtime.AddSeconds(30)
    $_   ","   $parsedtime
}
  

Кроме того, отследите, сколько итераций у вас было:

 $i = 0
ForEach ($_ in $file) 
{
    $i  
    $_   ","   ($parsedtime).AddSeconds(30 * i)
}
  

Комментарии:

1. ВААААххх, это было оно…. Я слишком долго смотрел на это, ха-ха. большое вам спасибо, сработало как по волшебству.