我发现ping script很有用,但我更喜欢将输出写入txt或csv,而不是使用Write-Host
输出到PS控制台。
这样做的最佳方式是什么?
答案 0 :(得分:2)
您需要将Write-Host
更改为Out-File
,或者更好的是Out-Default
。使用Out-Default
将允许您将输出传递给其他cmdlet,因此允许您在不同的场合处理输出,具体取决于您当前的特定需求。
Write-Host绕过PowerShell管道,并有效地从管道中删除它使用的任何对象,使其无法分配或由其他cmdlet使用。
参考文献:
Get-Help Write-Host
Get-Help Out-File
Get-Help Out-Default
答案 1 :(得分:1)
尝试将stdOut添加到数组中。然后在结尾写下结果。
#Define the array
$myOutput = @()
#Do something here"
$myOutput += $myStdOut
#Done with something
$myOutput | out-file -FilePath c:\myOutput.txt -Encoding utf8 -NoClobber
$cat c:\myOutput.txt