19

在 Unix 上,我会做类似的事情:

cat > file.txt

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

编辑:基本上,我正在寻找cat没有参数的功能(它从标准输入读取并将其吐回标准输出)。

4

4 回答 4

26

TYPE CON

CON 是用于控制台输入的 MS-DOS 设备。您可以按如下方式重定向到文件:

TYPE CON>output.txt

要终止,请点击Ctrl+CCtrl+ Z, Enter( Ctrl+ Z= EOF)。

于 2013-05-15T13:36:08.480 回答
13

如果您只想读取标准输入并将您读取的内容写入标准输出,那么 FINDSTR 可能会起作用,具体取决于您如何使用它。

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

findstr "^" file.txt

管道或重定向也可能起作用,具体取决于输入的内容:

findstr "^" < file.txt
or
type file.txt | findstr "^"

如果在使用带有 FINDSTR 的重定向或管道输入时发生以下任何情况,则输出将被破坏:

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

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

FINDSTR 与 cat 的不同之处还在于它不能同时从标准输入和命名文件中读取。

请参阅Windows FINDSTR 命令有哪些未记录的功能和限制?了解更多信息。

于 2012-05-30T22:10:22.597 回答
8

我想more.exe可能是你正在寻找的。

它可以从控制台获取输入:

more > file1.txt

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

type file1.txt | more > file2.txt

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

于 2015-01-14T22:07:15.807 回答
0

标准输入:

批处理文件:

:: set /p MyVar=   Prompts user for stdin information

set /p MyVar=

echo %MyVar% > filename
于 2012-05-30T21:05:03.167 回答