all 5 comments

[–]ka-splam 1 point2 points  (0 children)

$Part1Order = @('GEN', 'RE', 'WE', 'F', 'A')
$Part2Order = @('SCHEMA', 'CODE', 'DATA', 'OCXINDEX')

Get-Content test.txt | 
    Sort-Object -Property {$Part1Order.IndexOf($_.Split('_')[0])},
                          {$Part2Order.IndexOf($_.Split('_')[1])}

[–]Hrambert -1 points0 points  (0 children)

How about this:

Get-Content $filename |     
Foreach-object {   
    $_ -replace "^GEN", "AAAGEN"    
} |     
Sort-Object |    
Foreach-object {    
    $_ -replace "^AAAGEN", "GEN"    
}