Проблема с разделением PowerShell для New Line

Проблема с разделением PowerShell для New Line

Я пытаюсь разделить txt doc в Powershell на основе новой строки. Скрипт работал нормально при разделении по ',' но теперь я изменил его, чтобы использовать [Environment]::NewLine, и он, похоже, выбирает только последнюю строку.

Это часть скрипта, которая должна быть разделена символом новой строки:

 Get-Content  C:\Bindings.txt | Foreach-Object{
 $hostHeaders = $_.Split([Environment]::NewLine,
 [StringSplitOptions]::RemoveEmptyEntries)
 }

Документ .txt выглядит так:

http:*:80:test.com 
http:*:80:test2.com 
http:*:80:test1.com

Есть идеи, как сделать так, чтобы он разделялся на новой строке, а не только отображалась последняя строка, или я что-то упускаю?

решение1

У меня есть для вас 3 метода

Я подготовил файл .txt

(Get-Content  C:\temp\Bindings.txt)
http:*:80:test.com 
http:*:80:test2.com 
http:*:80:test1.com

А теперь 3 метода

(Get-Content  C:\temp\Bindings.txt) -split"`r`n"
(Get-Content  C:\temp\Bindings.txt) -split "[Environment]::NewLine"
(Get-Content  C:\temp\Bindings.txt).Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries)

результат такой

http:*:80:test.com 
http:*:80:test2.com 
http:*:80:test1.com

решение2

Вам не нужно ничего делать. Поведение Get-Content по умолчанию с текстовым файлом — разбить его на новой строке и вернуть массив строк:

PS C:\...\Can Delete 3>Get-Content data.txt
http:*:80:test.com
http:*:80:test2.com
http:*:80:test1.com
PS C:\...\Can Delete 3>$object = Get-Content data.txt
PS C:\...\Can Delete 3>$object.GetType()                                                  
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Object[]                                 System.Array


PS C:\...\Can Delete 3>$object.count
3
PS C:\...\Can Delete 3>$object[0]
http:*:80:test.com
PS C:\...\Can Delete 3>$Object | Get-Member                                               

   TypeName: System.String

Name             MemberType            Definition
----             ----------            ----------
...

Связанный контент