Powershell распечатать текст перед запуском foreach - PullRequest
0 голосов
/ 23 апреля 2020

Можем ли мы напечатать текст внутри foreach один раз

Может кто-то дать идею

Это часть моего кода


$MultiArray = @(
             ("$out1"+"`n"),
             ("$out"+"`n"),
             ("$out2"+"`n")

        )
        $newArray3 = foreach ($_ in $MultiArray) { if (![String]::IsNullOrWhiteSpace($_)){ $_} }


        foreach($array in $newArray3)
    {
        $variable++
        $asd = $variable | ForEach-Object {'{0:d3}' -f [int]$_}

        $finalOutput = "$asd" + $array
        echo $finalOutput
    }

Для переменной finaloutput мне нужно чтобы напечатать текст один раз в верхней части, так как его oop запускается снова и снова

Это мой вывод Перед тем, как это будет выполнено, мне нужно один раз напечатать заголовок сверху

001  AX       AA    C        00:00:00:00 00:00:03:48 00:00:00:00 00:00:04:18
* FROM CLIP NAME: 1aef53e6-92ac-4d28-89f8-4cce28fa0f58.m4a

002  AX       V     C        02:00:05:15 02:00:11:15 00:00:00:00 00:00:06:00
* FROM CLIP NAME: 1aef53e6-92ac-4d28-89f8-4cce28fa0f58.jpg

003  AX       AA/V  C        00:00:00:00 00:00:07:64 00:00:06:00 00:00:15:04
* FROM CLIP NAME: 1aef53e6-92ac-4d28-89f8-4cce28fa0f58.mp4

004  AX       AA    C        00:00:00:00 00:00:03:46 00:00:15:04 00:00:19:20
* FROM CLIP NAME: 9a52a954-ffe9-4420-a701-68988923f81f.m4a

005  AX       V     C        02:00:05:15 02:00:11:15 00:00:15:04 00:00:21:04
* FROM CLIP NAME: 9a52a954-ffe9-4420-a701-68988923f81f.jpg

Большое спасибо ..

1 Ответ

1 голос
/ 23 апреля 2020

Быстрый и грязный способ - использовать счетчик и оператор if для печати только на первой итерации l oop, например, так:

$Counter = 0
foreach($Array in $NewArray3){
    if($Counter -eq 0){
        Write-Host "HEADING"
    }
    # do the rest of the thigns
    $Counter++
}

Однако я бы порекомендовал рассмотреть организацию вашего данные в PSObjects. Вышеупомянутое не будет очень устойчивым, если длина вашего выхода изменится или кто-то использует другую ширину на своем терминале и т. Д. c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...