如何在Windows 10中使用cmd将PowerShell 5.0脚本的输出重定向到文件?我尝试了以下方法:
powershell ".\myscript.ps1 | Out-File outfile.txt"
和:
powershell .\myscript.ps1 > outfile.txt
无济于事。 outfile.txt
已创建,但保持为空。使用管理员权限运行命令提示符窗口。
在脚本中,我使用:
Write-Host $MyVar
Write-Host $SomeOtherVar
将值输出到屏幕。
答案 0 :(得分:1)
在脚本中,我使用:
Write-Host $MyVar Write-Host $SomeOtherVar
将值输出到屏幕。
是的,那是您的问题! Write-Host
将信息直接写入主机应用程序的屏幕缓冲区,因此标准输出流将永远不会真正看到任何内容。
将您的Write-Host
语句更改为Write-Output
(或将其删除):
Write-Output $MyVar
Write-Output $SomeOtherVar
# or simply
$MyVar
$SomeOtherVar
答案 1 :(得分:1)
使用特定的PowerShell redirection operators:
(它们似乎在(cmd)命令提示符下显示为wel)
重定向成功流(1>
):
powershell .\myscript.ps1 1> outfile.txt
重定向所有流(*>
):
powershell .\myscript.ps1 *> outfile.txt