【问题标题】:Windows batch file - automatic answer to all promptsWindows 批处理文件 - 自动回答所有提示
【发布时间】:2016-02-22 16:18:58
【问题描述】:

我正在运行一个生成批处理文件的程序。批处理文件有一堆我想用 RETURN 回答的提示:

例子:

Type X to quit or <RETURN> to proceed

我试过了:

echo. | batchfile.bat

这只会回答第一个提示。我要回答所有提示,提示很多。

【问题讨论】:

  • 你的程序生成一个批处理文件?所以你有一个批处理文件,故事结束。你的意思是你的批处理文件正在运行一个程序?或者一个程序正在运行一个批处理文件?
  • 程序生成批处理文件。我有一台服务器,它将运行每晚生成的批处理文件。批处理文件包含一堆提示。如何运行批处理文件,使用 RETURN 回答所有提示
  • 加载一个 txt 文件,返回的次数至少与您的提示一样多,然后 type file.txt| batchfile.bat?
  • batchfile.bat &lt; NUL
  • @JosefZ:嗯,功能上是一样的,但是管道版本执行cmd.exe文件的两个副本,所以它很多高效...

标签: windows batch-file return prompt


【解决方案1】:

您有 3 种方法可以做到这一点。
1. 正如评论中提到的@MarcB,您可以根据需要创建一个返回尽可能多的文件,然后使用type file.txt| batchfile.bat 命令
2.和第一个类似,但是命令是:batchfile.bat &lt; file.txt
3. 链接命令(3次返回):(echo.&amp;echo.&amp;echo.) | batchfile.bat 通常,也可以这样格式化:

(
  echo.
  echo.
  echo.
) | batchfile.bat

此外,如果您的答案(在您的情况下不是)包含一些特殊字符,例如 &amp; | &gt; &lt; 之类的操作,您将需要使用 ^ 符号对其进行转义。像(echo Stan ^&amp; Pan&amp;echo old series) 这样的结果将是这种情况:

Stan & Pan
old series

旁注:我也不知道您的用途是什么,但如果我有权修改该批处理文件,我会添加一个新选项(如y),如果该选项存在,我不会'不要在批处理文件中询问任何内容,我会在批处理文件中回答问题(如果有其他程序询问)。这将使脚本的使用更容易一些(例如:batchfile.bat y)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2017-06-11
    相关资源
    最近更新 更多