首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将标准输入重定向到Windows命令行中的文件?

如何将标准输入重定向到Windows命令行中的文件?
EN

Stack Overflow用户
提问于 2012-05-30 20:59:06
回答 3查看 40.1K关注 0票数 20

在Unix上,我会做这样的事情:

代码语言:javascript
运行
复制
cat > file.txt

如何在Windows命令提示符或批处理文件上执行此操作?

编辑:--基本上,我在寻找没有参数的cat的功能(它从stdin中读取并将其吐出到stdout中)。

EN

回答 3

Stack Overflow用户

发布于 2012-05-30 22:10:22

如果您只想读取stdin并将所读内容写入stdout,那么FINDSTR可能会工作,这取决于您如何使用它。

只要将输入指定为参数列表末尾的单个文件名,FINDSTR将输出输入的确切二进制图像。

代码语言:javascript
运行
复制
findstr "^" file.txt

管道或重定向也可以工作,这取决于输入的内容:

代码语言:javascript
运行
复制
findstr "^" < file.txt
or
type file.txt | findstr "^"

如果在FINDSTR中使用重定向或管道输入时发生下列任何情况,则输出将损坏:

  • 任何输入行> 8191字节
  • 最后一行输入不被\n终止。(如果重定向输入,命令可能挂起)

如果指定了多个输入文件,则FINDSTR将无法工作,因为在这种情况下,文件名将用作每一行输出的前缀。

FINDSTR也不同于cat,因为它既不能从stdin读取,也不能从指定的文件读取。

有关更多信息,请参见What are the undocumented features and limitations of the Windows FINDSTR command?

票数 13
EN

Stack Overflow用户

发布于 2015-01-14 22:07:15

我认为,假设您正在处理文本数据(这将破坏二进制数据),more.exe可能就是您想要的。

它可以从控制台接收输入:

代码语言:javascript
运行
复制
more > file1.txt

或者从另一个文件( TYPE CON 处理的文件)中输入:

代码语言:javascript
运行
复制
type file1.txt | more > file2.txt

(more似乎在文件中添加了换行符并展开选项卡,所以不要在二进制数据上使用它!)

票数 9
EN

Stack Overflow用户

发布于 2012-05-30 21:05:03

标准输入:

批处理文件:

代码语言:javascript
运行
复制
:: set /p MyVar=   Prompts user for stdin information

set /p MyVar=

echo %MyVar% > filename
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10824178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档