Export-Csv 多个 forloop 结果
Export-Csv multiple forloop results
我有多个 forloops 运行 从 .txt 文件中提取的不同变量。我想将这一切导出到一个 csv 文件中,同时让它看起来就像在 powershell 中一样。附件是我获得的 powershell 输出结果,我希望第一个 write-host 显示为 excel 中的 header,然后是第 1 列中的服务器名称和下方第 2 列中的 UP 或 DOWN它。
电源外壳
Write-Host "Starting SVR2000MS" -ForegroundColor Yellow
$servers = Get-Content C:\Users\username\Desktop\subfolder\SVR2000.txt
foreach($server in $servers){
if (Test-Connection -ComputerName $server -Count 1 -ErrorAction SilentlyContinue) {
Write-Host "$server, UP" -ForegroundColor Green
}
else{
Write-Host "$server, DOWN" -ForegroundColor Red
}
}
Write-Host "Starting SVR2003DC" -ForegroundColor Yellow
$servers = Get-Content C:\Users\username\Desktop\subfolder\SVR2003.txt
foreach($server in $servers){
if (Test-Connection -ComputerName $server -Count 1 -ErrorAction SilentlyContinue) {
Write-Host "$server, UP" -ForegroundColor Green
}
else{
Write-Host "$server, DOWN" -ForegroundColor Red
}
}
简单方法:
您只需将其打印并放入文件即可
代替Write-Host ...
,做:
"$server,UP" | Out-File test.csv -append
您可以通过使用对象获得更精细的选项,但它可能无法满足您的需求。
如果你想要一个干净的文件,你需要在开头删除它,因为-append
。
顺便说一句,CSV 中的逗号后没有 space:)
编辑:
Write-Host
专门写入...到主机,即控制台,因此您无法将其重定向到其他地方。
我有多个 forloops 运行 从 .txt 文件中提取的不同变量。我想将这一切导出到一个 csv 文件中,同时让它看起来就像在 powershell 中一样。附件是我获得的 powershell 输出结果,我希望第一个 write-host 显示为 excel 中的 header,然后是第 1 列中的服务器名称和下方第 2 列中的 UP 或 DOWN它。 电源外壳
Write-Host "Starting SVR2000MS" -ForegroundColor Yellow
$servers = Get-Content C:\Users\username\Desktop\subfolder\SVR2000.txt
foreach($server in $servers){
if (Test-Connection -ComputerName $server -Count 1 -ErrorAction SilentlyContinue) {
Write-Host "$server, UP" -ForegroundColor Green
}
else{
Write-Host "$server, DOWN" -ForegroundColor Red
}
}
Write-Host "Starting SVR2003DC" -ForegroundColor Yellow
$servers = Get-Content C:\Users\username\Desktop\subfolder\SVR2003.txt
foreach($server in $servers){
if (Test-Connection -ComputerName $server -Count 1 -ErrorAction SilentlyContinue) {
Write-Host "$server, UP" -ForegroundColor Green
}
else{
Write-Host "$server, DOWN" -ForegroundColor Red
}
}
简单方法:
您只需将其打印并放入文件即可
代替Write-Host ...
,做:
"$server,UP" | Out-File test.csv -append
您可以通过使用对象获得更精细的选项,但它可能无法满足您的需求。
如果你想要一个干净的文件,你需要在开头删除它,因为-append
。
顺便说一句,CSV 中的逗号后没有 space:)
编辑:
Write-Host
专门写入...到主机,即控制台,因此您无法将其重定向到其他地方。