Мне нужна помощь со скриптом powershell, простым скриптом.
У меня есть файл .csv с простыми основными значениями, который выглядит следующим образом:
TimeDate; PingTime
dd.mm.yyyy hh:mm; x ms;
dd.mm.yyyy hh:mm; x ms;
dd.mm.yyyy hh:mm; x ms;
dd.mm.yyyy hh:mm; x ms;
В основном в нем 10 строк с данными, соответствующими 10 минутам.Каждую минуту один ряд.
Мне нужен скрипт PowerShell, который читает каждый раз, когда он запускается / запускается по одной строке за раз.
Я думал, что это может работать так:
Поиск PowerShellдля файла .csv, он ищет его в каталоге и автоматически принимает новейший доступный файл .csv.(Каждые 10 минут в каталоге появляется файл (из другого скрипта)). Поэтому, когда файл появляется в каталоге, Powershell выбирает самый новый файл, читает первую строку .csv и передает вывод, подобный этому:
write-host "TimeDate, Pingtime"
При втором запуске powershell узнает, что использует тот же файл .csv, поэтому он возьмет вторую строку и передаст ее с записью-host.
Эта процедура будет повторяться в 3-й, 4-й и 10-й раз, поэтому после 10-го раза в каталоге будет присутствовать новый файл .csv, поэтому powershell принимает этот файл и начинает печататьопять первый ряд.
В настоящее время у меня есть что-то вроде этого:
$dir = "C:\temp\"
$latest = Get-ChildItem -Path $dir | Sort-Object LastAccessTime -Descending | Select-Object -First 1
$file = Import-Csv C:\temp\$latest # $latest has Filename of the newest File in dir
([string]$file[0]).Split(',')[0] | out-host;
Это пишет примерно так: @ {DateTime; Ping Time = 12.09.2018 17: 37; 0 мс}
а мне нужно и вывести вот так:
write-host $date:$ptime
, который печатает: 12.09.2018 17: 37: 7 мс
А также мне понадобится функциональность для печати при каждом запуске следующегострока в строке.