Я пытаюсь вывести объекты, как например:Форматирование объекта как аккуратно смотрит список
Конвейеризация переменного, содержащие объекты через Format-List
производит пустые строки, которые создает проблемы. Я не могу удалить пустые строки по какой-то причине при использовании $obj = $obj | ? {$_}
Я ожидаю, что переменная, содержащая объекты, будет содержать правильное количество объектов.
Интересно, когда я запускаю $Host
сначала (у которого есть форматирование, которое я ищу), а затем запустите переменную $obj
, после чего я получу результаты, которые я ищу.
Любая помощь очень ценится.
Вот код:
$String = @"
FileName: O:\iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiii.txt
:`$DATA 9
SummaryInformation 128
{4c8cc155-6c1e-11d1-8e41-00c04fb9386d} 0
FileName: O:\ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
sssssssssssssss.txt
:`$DATA 9
SummaryInformation 128
{4c8cc155-6c1e-11d1-8e41-00c04fb9386d} 0
FileName:
O:\aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.txt
:`$DATA 0
Lzip 7
"@
[regex]$pattern1 = '(?s)\s+FileName:\s+(?<FullName>.*?)\s+:\$DATA'
$Match1 = $String | Select-String -Pattern $pattern1 -AllMatches |
% { $_.Matches }
[regex]$pattern2 = '(?sm)(?:(?<Stream>^:\$DATA.*?)\s+FileName|(?<Stream>^:.*))'
$Match2 = $String | Select-String -Pattern $pattern2 -AllMatches |
% { $_.Matches }
$obj = 0..($Match1.Count -1) | % {
New-Object -TypeName PsObject -Property @{
FullName = $Match1[$_].Groups['FullName'].Value
Streams = $Match2[$_].Groups['Stream'].Value
}
}
$obj
Edit: Вот результат я получаю даже при удалении разрывов строк, как предложено:
FullName -------- O:\iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii... O:\ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss... O:\aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.txt
Попробуйте метод Trim, чтобы удалить лишние пробелы. – user4317867
Спасибо, я думаю, что имею дело с объектами, а не с строкой. Можете ли вы привести пример? – Mack
Пожалуйста, покажите пример желаемого результата. По-видимому, это не то, что вы показали на скриншоте в начале вашего вопроса. –