无法在Windows中重定向可执行文件的stdout或stderr

时间:2016-06-13 14:44:43

标签: windows powershell redirect exe

我正在尝试重定向从供应商处收到的Windows exe文件的输出。我没有这个文件的代码,供应商有点强硬,很抱歉混淆。

请注意,我不是要将输出和错误连接在一起 - 我无法重定向。

如果我使用PowerShell运行它,我会得到以下

PS C:\test>.\vendor.exe
output
output
output
error
error
output

当我尝试重定向stdout时,我得到以下内容。

PS C:\test>.\vendor.exe > output.txt
error
error

然而,在创建output.txt时,它是一个空文件。它的长度为0。

任何想法如何实现重定向,或者是否有可能阻止exe中的重定向?

1 个答案:

答案 0 :(得分:1)

您需要将标准错误重定向到标准输出。

尝试:

.\vendor.exe 2>&1 > output.txt

在这里,2>&1说"将stderr重定向到stdout"并且> output.txt说"将stdout重定向到output.txt"。

或者:

.\vendor.exe *> output.txt

此处,*> output.txt说"将所有内容重定向到output.txt。"

主要区别在于有6个输出流:

    1   Success output
    2   Errors
    3   Warning messages
    4   Verbose output
    5   Debug messages
    6   Informational messages 

请参阅Get-Help about_Redirection