заполнить массив переменными с помощью цикла - PullRequest
0 голосов
/ 04 июля 2018

Я преобразовал файл журнала в массив, некоторые элементы в массиве содержат ключевое слово Messages. Я хочу новый массив, который содержит только элементы с этим ключевым словом.

Я попробовал следующее:

$Logfile_array = Get-Content "C:\temp\logfiles\complete_log.txt"
foreach ($array_element in $Logfile_array)
{
    if ($array_element -match 'Messages')
    {
        foreach ($array_element in $Logfile_array)
        {
          $i++
          echo $i
          $array_message[$i] = $array_element
        }
    }
}

1 Ответ

0 голосов
/ 04 июля 2018

Вместо использования foreach для обхода массива и проверки каждого элемента вы можете использовать Where-Object , чтобы сделать это за вас:

$Logfile_array = Get-Content "C:\temp\logfiles\complete_log.txt"
$array_message = $Logfile_array | Where-Object { $_ -match 'Messages' }

или один вкладыш:

$array_message = Get-Content "C:\temp\logfiles\complete_log.txt" | Where-Object { $_ -match 'Messages' }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...