重定向命令输出
各位, 我需要将命令输出重定向到 2 个文件,在一个文件中重定向 stdout 流, 到另一个文件重定向 stderr 流。 可以在 Windows 上的 cmd、PowerShell 中执行吗?
folks,
I need to redirect command output to 2 files, in one file redirect stdout stream,
to another file redirect stderr stream.
Is it possible to do in cmd, PowerShell on windows ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于 powershell
假设您有如下所示的
my.ps1
:您可以执行以下操作:
在相应的文件中获取 stdout 和 stderr。
有关 Tee-Object 的更多信息:
http://technet.microsoft.com/en-us /library/dd347705.aspx
有关捕获所有流的更多信息:
https://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedbackID =297055&SiteID=99
For powershell
Let us say you have
my.ps1
like below:You can do:
You get stdout and stderr in the corresponding files.
More on Tee-Object:
http://technet.microsoft.com/en-us/library/dd347705.aspx
More on capturing all streams:
https://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedbackID=297055&SiteID=99
在 Powershell 中,您可以使用众所周知的重定向运算符
>
、>>
、2>
、重定向标准输出和错误2>>
。首先确保设置:
然后使用重定向。
示例:
ls C:\ 2> stderror.txt > > stdoutput.txt # 在 stdoutput.txt 上写入输出
ls foo 2>; stderror.txt > > stdoutput.txt # 在 stderror.txt 上写入输出,除非 foo 存在
In Powershell you can redirect standard output and error using the well known redirection operators
>
,>>
,2>
,2>>
.First make sure to set:
Then use redirection.
Examples:
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