我想写一个Windows批处理脚本foo.cmd
,这样当我将任何文本输入到其标准输入时,它会将该文本写入名为foo.txt的文件。
echo hi | foo
上面的命令应该创建一个名为foo.txt的文件,并将文本hi
写入其中。
我在foo.cmd
尝试了此代码。
@echo off
copy con foo.txt
但这不起作用。当我运行echo hi | foo
时,脚本只是等待我通过终端输入输入,即命令提示符窗口。它没有读取输入到它的输入。
我该如何解决这个问题?
请注意,正在管道的文字可能有多行。
答案 0 :(得分:4)
您只需要一个简单的FINDSTR命令即可。 "^"
搜索字词是一个匹配所有输入行的正则表达式。
@findstr "^" >foo.txt