带有多个变量的PowerShell Add-Content到列

时间:2018-11-26 17:22:20

标签: powershell csv

使用Add-Content将多个变量输入到csv文件中会将每个变量写到csv的新行中,例如:

代码

$name, $dateTime, $task | Add-Content $csv  -Force

结果

$name
$dateTime
$task

我想每次用新的变量值循环上面的代码,但希望将变量输入到新列以得到如下结果:

$name $dateTime $task
$name $dateTime $task
$name $dateTime $task

如何修改我的代码以将3个变量中的每一个输入到新列中,然后在下一次遍历中,像上面的示例一样在1,2和3列的下一行中输入3个新值? >

谢谢

1 个答案:

答案 0 :(得分:3)

根据@TessellatingHeckler的建议,我使用了Export-CSV -Append并创建了一个pscustomobject,如下所示:

$logData = @(
 [pscustomobject]@{
  Name = $name
   DateTime = $dateTime
    Task = $task
}
)
$logData | Export-Csv $csv -Append -NoTypeInformation

这样做,我实现了两个理想的效果:每次循环迭代时,列标题和每个变量都会写入其自己的单元格中。

结果

Name  DateTime  Task
$name $dateTime $task
$name $dateTime $task

谢谢大家。