Powershell:ForEach Loop

时间:2017-05-30 06:10:23

标签: powershell

如何编辑问题就像是某人要求

2 个答案:

答案 0 :(得分:3)

您可以使用Export-Csv

首先,您要创建对象而不是两个数组中的字符串:

$objects = foreach($f1 in $file1)
{
    foreach($f2 in $file2)
    {
        New-Object psobject -Property @{
            Server = $f1
            HotfixID = $f2
        }
    }
}

现在我们可以将它们传递给Export-Csv并指定一个分隔符(在你的情况下是一个空格):

$objects |Export-Csv -Path "C:\path\to\output.file" -Delimiter ' ' -NoTypeInformation

答案 1 :(得分:2)

在使用PowerShell时,您已经陷入了与其他人相同的陷阱 - 您正在操纵文本而不是对象。

不是连接字符串({$f1+","+$f2}),而是创建一个对象:

{ New-Object PSObject -Property @{ "Server" = $f1; "Hotfix" = $f2 } }

然后,将整个ForEach括在括号中,并赋值给变量:

$hfdata = ( ForEach ... )

...最后,Export-CSV数组:

Export-CSV -InputObject $hfdata -Path $savefile