跨列将变量写入现有 CSV
Write variables to existing CSV across columns
这是一个关于 Out-File
的限制和将字符串值转换为 objects 以使用 Export-CSV
.
的两部分问题
我正在编写一个脚本来提取各种信息并将其添加到现有的 csv 文档中。我目前正在使用 Out-File
,但我认为它没有所需的功能。
$date, $computerName, $env:UserName, 'error' | Out-File $report -Append
上面把所有的数据都加到一个列中,例如:
date
computername
username
error
我希望它是:
date computername username error
我曾尝试使用 Export-CSV
,但由于我的变量是字符串,所以它只写入字符串长度而不是变量。我很乐意将 Export-CSV
与 -Append
一起使用,只要它能正确报告项目即可。
如果我们能让 table 拥有 headers 的奖励积分:
date computername username error
8/15/2018 A1 Bob PowerIssue
8/15/2018 A2 Tom InternetIssue
$date, $computerName, $env:UserName, 'error'
是一个正在转换为字符串数组的集合。那么 Out-File
获取该数组的每个元素并每行吐出一个元素。
您可以生成单个字符串。例如,
"$date, $computerName, $env:UserName, error" | Out-File $report -Append
但更好的方法是制作一个对象,然后将其导出到 csv。这是一个使用 [pscustomobject]
的示例,它需要 PS3+
$ExampleObjects = @(
[pscustomobject]@{
Date = Get-Date
ComputerName = 'A1'
UserName = 'Bob'
Error = 'PowerIssue'
},
[pscustomobject]@{
Date = Get-Date
ComputerName = 'A2'
UserName = 'Tom'
Error = 'InternetIssue'
}
)
$ExampleObjects | Export-CSV $report -Append -NoTypeInformation
这是一个关于 Out-File
的限制和将字符串值转换为 objects 以使用 Export-CSV
.
我正在编写一个脚本来提取各种信息并将其添加到现有的 csv 文档中。我目前正在使用 Out-File
,但我认为它没有所需的功能。
$date, $computerName, $env:UserName, 'error' | Out-File $report -Append
上面把所有的数据都加到一个列中,例如:
date
computername
username
error
我希望它是:
date computername username error
我曾尝试使用 Export-CSV
,但由于我的变量是字符串,所以它只写入字符串长度而不是变量。我很乐意将 Export-CSV
与 -Append
一起使用,只要它能正确报告项目即可。
如果我们能让 table 拥有 headers 的奖励积分:
date computername username error
8/15/2018 A1 Bob PowerIssue
8/15/2018 A2 Tom InternetIssue
$date, $computerName, $env:UserName, 'error'
是一个正在转换为字符串数组的集合。那么 Out-File
获取该数组的每个元素并每行吐出一个元素。
您可以生成单个字符串。例如,
"$date, $computerName, $env:UserName, error" | Out-File $report -Append
但更好的方法是制作一个对象,然后将其导出到 csv。这是一个使用 [pscustomobject]
的示例,它需要 PS3+
$ExampleObjects = @(
[pscustomobject]@{
Date = Get-Date
ComputerName = 'A1'
UserName = 'Bob'
Error = 'PowerIssue'
},
[pscustomobject]@{
Date = Get-Date
ComputerName = 'A2'
UserName = 'Tom'
Error = 'InternetIssue'
}
)
$ExampleObjects | Export-CSV $report -Append -NoTypeInformation