【问题标题】:How to specify end of input in a batch file如何在批处理文件中指定输入结束
【发布时间】:2011-05-27 03:20:36
【问题描述】:

我有一个程序 x.exe,它等待用户输入并读取到文件末尾。我想从批处理文件中调用它。

x.exe My Text Goes Here and goes and goes and goes and how to say it ends?

当我运行它时,似乎 x.exe 正在运行,它已经消耗了我给它的字符串,但它仍在等待更多输入。如何在批处理文件中指定 EOF 字符?

当我从控制台运行它时,我按 Ctrl+Z 来指定 eof。我如何对 bat 文件执行相同操作? 谢谢。

【问题讨论】:

  • 在您编写的命令行中,x.exe 没有从任何文件中读取。它可能正在读取命令行参数,但之后它会一直等到 stdin 关闭。你想达到什么目的?
  • @Peter:@Jon 的回答说明了一切,谢谢 :)

标签: c windows operating-system batch-file eof


【解决方案1】:
echo "My Text Goes Here and goes and goes and goes and how to say it ends?" | x.exe

您现在执行的方式实际上并没有将文本作为输入发送到您的程序,而是将它们作为命令行参数传递(传递给您的主函数的字符串数组 - 它是 char* argv[]argc 元素长)。

使用 echo 将其打印到标准输出,然后使用管道将 echo 的标准输出连接到程序的标准输入。

【讨论】:

  • 如果 x.exe 有像 -a 这样的命令行参数,它会不会像 echo "Hello" | x.exe -a ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-14
  • 1970-01-01
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
相关资源
最近更新 更多