Powershell 比较多个电子表格并生成CSV输出

Powershell 比较多个电子表格并生成CSV输出,powershell,foreach,import-csv,pscustomobject,export-csv,Powershell,Foreach,Import Csv,Pscustomobject,Export Csv,我试图比较两个csv文件,第一个文件名为tickets.csv,包含列标题:“tcn”、“two”、“twod”。第二个文件名为tracker.csv,包含标题:“cn”、“wo”和“wod”。我想输出tracker.csv的内容,如果任何“tcn”(tickets.csv)匹配“cn”(tracker.csv),那么将其关联的“two”(tickets.csv)写入“wo”(tracker.csv),将“twod”(tickets.csv)写入“wod”(tracker.csv) 我遇到了这样

我试图比较两个csv文件,第一个文件名为tickets.csv,包含列标题:“tcn”、“two”、“twod”。第二个文件名为tracker.csv,包含标题:“cn”、“wo”和“wod”。我想输出tracker.csv的内容,如果任何“tcn”(tickets.csv)匹配“cn”(tracker.csv),那么将其关联的“two”(tickets.csv)写入“wo”(tracker.csv),将“twod”(tickets.csv)写入“wod”(tracker.csv)

我遇到了这样一个问题:我的代码没有移动“两个”或“wod”,而且还将每个对象写入4次


我以前看错方向了。但我明白了

$tracker = Import-Csv "$home\Desktop\nestTest\tracker.csv" |
ForEach-Object {
    $machine = ""
    $wo = ""
    $wod = ""
    $machine = $_.machine
    $tickets = import-csv "$home\Desktop\nestTest\tickets.csv" |
    ForEach-Object {
        $two = ""
        $twod = ""
        $two = $_."wo"
        $twod = $_."wod"
        $tcn = $_."cn"
        if ($tcn -eq $machine) {
            $wo = $two
            $wod = $twod
        }
        else {
        }
    }
        [pscustomobject]@{
        "Machine Name"=$machine
        "Work Order #"=$wo
        "Work Order Date"=$wod
        }

} |
select "Machine Name","Work Order #","Work Order Date" |
Export-Csv "$home\Desktop\nestTest\output.csv" -NoTypeInformation

我以前看错方向了。但我明白了

$tracker = Import-Csv "$home\Desktop\nestTest\tracker.csv" |
ForEach-Object {
    $machine = ""
    $wo = ""
    $wod = ""
    $machine = $_.machine
    $tickets = import-csv "$home\Desktop\nestTest\tickets.csv" |
    ForEach-Object {
        $two = ""
        $twod = ""
        $two = $_."wo"
        $twod = $_."wod"
        $tcn = $_."cn"
        if ($tcn -eq $machine) {
            $wo = $two
            $wod = $twod
        }
        else {
        }
    }
        [pscustomobject]@{
        "Machine Name"=$machine
        "Work Order #"=$wo
        "Work Order Date"=$wod
        }

} |
select "Machine Name","Work Order #","Work Order Date" |
Export-Csv "$home\Desktop\nestTest\output.csv" -NoTypeInformation