什么是等于Unix echo foo | cat__?
ECHO foo | TYPE CON挂起,等待输入,至少在Windows /SP3上是这样。可能CON不是stdin而是键盘输入。
你可能想知道这个练习有什么意义:当程序注意到它们的输出是管道的时候,它们的行为是不同的,我想要一种方法来测试它们。
发布于 2013-09-13 13:38:17
不确定你想做什么,但这可能有帮助:
type file|more这可能更适合你的需要。
foo.exe | findstr "^"发布于 2013-09-13 14:10:20
据我所知,您正在寻找一个应用程序,您可以通过管道将任何管道传递到stdout。
我相信foo.exe | more将在Windows上为您服务。
注意:more确实有分页输出的副作用,所以如果您需要测试更长的输出,您可以编写一个简单的应用程序来执行重定向。
编辑:您可以编写一个简单的批处理文件,将stdin重定向到stdout,并将管道重定向到stdout。来自杰布的答案here
@echo off
setlocal DisableDelayedExpansion
for /F "tokens=*" %%a in ('findstr /n $') do (
set "line=%%a"
setlocal EnableDelayedExpansion
set "line=!line:*:=!"
echo(!line!
endlocal
)将其保存为redir.bat,并像foo.exe | redir.bat那样使用。在Win7上测试。兼容默认Windows安装。唯一的缺点是这并不是一个容易记住的问题。
对于简单的情况,我会使用more,而对于更长的输出,我会使用它。
https://stackoverflow.com/questions/18787591
复制相似问题