Проблема сравнить массив в PowerShell и скопировать его - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть

  1. Список данных в CSV, и мне нужно сравнить его снова набор массивов.
  2. И затем мне нужно скопировать все данные и затем вставить их в новый набор массивов.

Образцы данных в CSV

ID  VersionLabel     Created     Author     Modified           Editor    FileLeafRef     Title   Remarks     Business_x0020_Unit     DE_Department   Record_x0020_Disposition_x0020_Date     Note    
1   0.6    02/11/2020 03:21:12   John     02/11/2020 03:21:12   John     fields.csv  Test1   Test111    Finance              Department A       02/10/2020 23:00:00                 notes    
1   0.5    02/10/2020 11:16:39   John     02/10/2020 11:16:39   John     fields.csv  Test1   Test111    Marketing        Department A old       02/10/2019 23:00:00             notes old    
1   0.4    02/10/2020 10:28:54   John     02/10/2020 10:28:54   John     fields.csv  Test1   Test111    Sales                Department A old       02/10/2019 23:00:00             notes old
1   0.3    02/10/2020 09:29:31   John     02/10/2020 09:29:31   John     fields.csv  Test1   Test111    Sales                Department A old       02/10/2020 23:00:00                 notes old
1   0.2    02/10/2020 09:28:35   John     02/10/2020 09:28:35   John     fields.csv  Test1   Test111    Sales                Department A old       02/10/2020 23:00:00                 notes old

Набор Arrary, который У меня есть

ID
VersionLabel
Created
Author

, который в основном я получил, используя следующий код

$FinalReport = Import-Csv $OriginalReport -Delimiter ","
$Header = $FinalReport[0].psobject.properties.name
$FinalReportGrouped = $FinalReport | Group-Object {$_.ID} |Foreach-Object {
            $_.Group | Sort-Object VersionLabel -Descending | Select-Object -First 1 
}

Проблема в том, что я не могу выдать правильную логику c о том, как сравнивать набор массива.

Пример, ниже приведен код для его сравнения ..

foreach ($row in $FinalReportGrouped) 
        {
            $FinalReport | Where-Object {$_.ID -eq $row.ID} | Foreach-Object {   
                    #I need to compare here, if the value inside $ is not equal $header array
                    if($_.value -ne $header)
                    {
                         # and then I need to copy whole content of $row into $_ variable, below code seems got problem. I can copy if using $_.Department = $row.Department, but I need to get it dynamically. 
                         $_ = $row #this is wrong maybe..
                    }

                }

        }
...