人, 我需要将命令输出重定向到2个文件,在一个文件重定向标准输出流中, 到另一个文件重定向stderr流。 是否可以在Windows上使用cmd,PowerShell进行操作?
答案 0 :(得分:4)
对于powershell
我们假设你有my.ps1
如下:
"output"
Write-Error "error output"
exit 1
你可以这样做:
.\my.ps1 2>stderr.txt | Tee-Object -file stdout.txt
你在相应的文件中得到了stdout和stderr。
有关Tee-Object的更多信息:
http://technet.microsoft.com/en-us/library/dd347705.aspx
有关捕获所有流的更多信息:
https://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedbackID=297055&SiteID=99
答案 1 :(得分:1)
在Powershell中,您可以使用众所周知的重定向运算符>
,>>
,2>
,2>>
重定向标准输出和错误。
首先确保设置:
$erroractionpreference.value__=1
然后使用重定向。
<强>示例:强>
ls C:\ 2> stderror.txt > stdoutput.txt # write output on stdoutput.txt
ls foo 2> stderror.txt > stdoutput.txt # write output on stderror.txt unless foo exists