@malchikmolodoy

Как вытянуть значение из файла?

Делаю скрипт powershell, который проверяет соединение интернета.
С помощью "speedtest" я получаю следующее:
Speedtest by Ookla
     Server: text
        ISP: text.
    Latency:     1.64 ms   (0.07 ms jitter)
   Download:    25.20 Mbps (data used: 61.6 MB )                               
     Upload:    36.61 Mbps (data used: 46.8 MB )                               
Packet Loss: Not available.
 Result URL: https://www.speedtest.net/result/c/f4dba237

Во что мне нужно преобразовать этот текст, чтобы вытянуть оттуда, например "Download" и "Upload"?
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
@Tabletko
никого не трогаю, починяю примус
$i = .\speedtest.exe -f csv --output-header
$i | ConvertFrom-Csv | select download,upload
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
EPIDEMIASH
@EPIDEMIASH
Человек швейцарский нож
string.TrimStart(" ").IndexOf("Download")
Ответ написан
@MaxKozlov Куратор тега PowerShell
$c = Get-Content d:\your_file.txt

$c | Foreach-Object -Begin { $data = @{} } -Process { $a = $_ -split ':', 2; if ($a.Length -eq 2) { $data[$a[0].Trim()] = $a[1].Trim() } } -End { [PSCustomObject]$data }


Результат можно присваивать переменной и потом анализировать/преобразовывать по полям

$info = $c | ......
[float]($info.Download -replace 'Mbps.*')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы