У меня есть файл, как это:Powershell Get-Content с Where-Object
line one email1
line two email1
line three email2
line four email1
Если я хочу, чтобы извлечь только те строки, которые содержат "EMAIL1", я делаю это:
$text = Get-Content -Path $path | Where-Object { $_ -like *email1* }
$ текст теперь массив с 3-х элементов, содержащих эти строки, и я перебирать это так:
for ($i = 0; $i -lt $text.Length; $i++)
{
#do stuff here
}
Однако, если я хочу, чтобы получить линии CON «email2».
$text = Get-Content -Path $path | Where-Object { $_ -like *email2* }
возвращает строку, а не массив одного элемента. И когда я повторяю его, он выполняет итерацию через каждый символ в строке.
Как я могу создать массив с одним элементом, а не с строкой?
Хорошо. См. Также «более общий» подход в моем ответе. –