Скрипт для загрузки csv в вывод powershell - PullRequest
0 голосов
/ 04 октября 2018

Мне нужна помощь со скриптом 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 мс

А также мне понадобится функциональность для печати при каждом запуске следующегострока в строке.

...