Vector BCO
((get-content $filepath -Encoding UTF8 -Raw) -replace '(\d{8})(\r\n?){2}([A-Z]\d+)', '## $1 : $3 ##').split("`r") | Select-String -Pattern '## (?''id1''\d{8}) : (?''id2''[A-Z]\d+) ##' -AllMatches | % {($_.Matches.Groups | where Name -In 'id1','id2').Value}
еще раз большое спасибо, разобрался в твоем коде к сожалению для меня так писать сложно, но сначала разобрал твой код на строчки для понимания. а позже написал свой. теперь хоть понятно как в пшеле работать с regerx: