有没有办法让批处理文件中的命令获得双重输出?我们想要做的是同时在命令行和文本文件中获取输出。
我们知道这样的命令
ping 127.0.0.1 > block.txt
在文本文件中返回结果,但据我所知,没有办法同时显示两者
谁能帮我?
答案1
简而言之,对于某些命令(例如 ping),您可以使用以下命令:
ping 127.0.0.1 > ping.txt & type ping.txt
与其他人一起,你会这样做:
dir > dir.txt | type dir.txt
这些将运行命令,然后将文本文件的内容输出到命令窗口。
但是这些不会在窗口中显示 ping 或 dir 命令的实时输出。
显然,如果您尝试运行 ping -t 或类似程序,并且希望运行时间更长,并且可能希望观察某些内容而不是仅仅运行某些内容并阅读其简短输出,那么这将是一个更大的问题。
Powershell 可以在命令窗口中显示并同时输出到文本文件,因此如果 powershell 是一个选项,您可能能够在其中进行一些破解。
答案2
正如 @Zoredache 所述,我们使用了 Powershell 命令
.\power.bat | tee out.txt | Out-Default
此后一切都顺利进行