Warning: PowerShell-newb at work.
I got a .csv-file that I am trying to filter and split in different parts. The data looks s.th. like this (much more columns in real)
column1; column2; column3; column4; column5; column6; column7
DATA;012594;50;400;1;123456789;87986531;
DATA;012594;50;401;1;456321564;53464554;
DATA;012594;50;402;1;321567894;54634858;
DATA;012594;51;400;1;312354684;38768449;
DATA;012594;51;410;1;123153167;54648648;
I now need do 2 steps:
1st: Filter the data for rows that have only column4 = '400'. Also picking just some columns as not all are of interest to me. And adding some custom columns at this point aswell.
2nd: Split and save the rows in 2 different files depending whether column3 is '50' or '51'.
$files = Get-ChildItem .\test\*.csv
foreach ($file in $files) {
    $fname = $file.Name
    $data = (Get-Content -path $file) | Select-Object -skip 1 | Foreach-Object {
        $_ -replace '\|',';'
    } | Set-Content -Path ".\test-out\${fname}"
    foreach ($rec in $data){
        $status = $rec.Substring(16,3)
        if ($status -eq "400"){
            Write-Warning "400 found"
            $csv400q = [PSCustomObject]@{
                'column 1' = $rec.'column 1'
                'column 2' = $rec.'column 2'
                'column 3' = $rec.'column 3'
                'column 4' = $rec.'column 4'
                'column 5' = $rec.'column 5'
                'column 6' = $rec.'column 6'
                'column 7' = $rec.'column 7'
                'new column1' = 'static text'
                'new column2' = 'static text'
                'new column3' = 'static text'
            }
            $csv400o += $csv400q
        }
    }
    $csv400o | Export-Csv -Path ".\test-out\${fname}" -Delimiter ";" -NoTypeInformation
    #Step #2 should be here
    foreach ($rec in $data) {
        $lunk = $rec.Substring(13,2)
        if ($lunk -like "50") {
            
        } elseif ($lunk -like "51") {
            
        }
    }
}
THe files are much larger than this example. But for this sample data the desired outcome would be
file50.csv
column1; column2; column3; column4; column5; column6; column7
DATA;012594;50;400;1;123456789;87986531;
file51.csv
column1; column2; column3; column4; column5; column6; column7
DATA;012594;51;400;1;312354684;38768449;
I just used some parts of previously used code. If that's the completly wrong direction - don't hesitate to say so.
Thank you in advance!
 
    