如何在Windows命令提示符中运行命令行应用程序,同时显示输出并将输出重定向到文件?

例如,如果我要运行命令dir > test.txt,这将把输出重定向到一个名为test.txt的文件,而不显示结果。

我如何写一个命令来显示输出并将输出重定向到Windows命令提示符中的文件,类似于Unix上的tee命令?


当前回答

这样的东西能满足你的需要吗?

%DATE%_%TIME% > c:\a.txt & type c:\a.txt
ipconfig >> c:\a.txt & type c:\a.txt
ping localhost >> c:\a.txt & type c:\a.txt
pause

其他回答

dir 1 > a . txt 2 > &1 |式a . txt。

这将有助于重定向STDOUT和STDERR

看看这个:wintee

不需要cygwin。

不过,我确实遇到并报告了一些问题。

您还可以检查unxutils,因为它包含tee(不需要cygwin),但注意这里的输出EOL是类似unix的。

最后,但并非最不重要的是,如果你有PowerShell,你可以尝试Tee-Object。在PowerShell控制台中输入get-help tee-object获取更多信息。

如果你的windows环境路径中有cygwin,你可以使用:

 dir > a.txt | tail -f a.txt

我能够找到一个解决方案/工作区重定向输出到一个文件,然后到控制台:

dir > a.txt | type a.txt

其中dir是需要重定向输出的命令,a.txt是存储输出的文件。

为了扩展davor的答案,你可以像这样使用PowerShell:

powershell "dir | tee test.txt"

如果你试图重定向当前目录下的exe的输出,你需要在文件名上使用。\,例如:

powershell ".\something.exe | tee test.txt"