批处理文件如何读取管道输入并将结果写入文件?

时间:2015-12-30 03:16:03

标签: windows batch-file

我想写一个Windows批处理脚本foo.cmd,这样当我将任何文本输入到其标准输入时,它会将该文本写入名为foo.txt的文件。

echo hi | foo

上面的命令应该创建一个名为foo.txt的文件,并将文本hi写入其中。

我在foo.cmd尝试了此代码。

@echo off
copy con foo.txt

但这不起作用。当我运行echo hi | foo时,脚本只是等待我通过终端输入输入,即命令提示符窗口。它没有读取输入到它的输入。

我该如何解决这个问题?

请注意,正在管道的文字可能有多行。

1 个答案:

答案 0 :(得分:4)

您只需要一个简单的FINDSTR命令即可。 "^"搜索字词是一个匹配所有输入行的正则表达式。

@findstr "^" >foo.txt