【问题标题】:Is it possible to pass input to console applications via batch files in Windows?是否可以通过 Windows 中的批处理文件将输入传递给控制台应用程序?
【发布时间】:2012-03-02 13:41:15
【问题描述】:

在 OpenVMS 上,可以编写 DCL(数字命令语言)命令脚本,将不带 $ 提示符的行解释为前面命令的输入。

例如,假设我们有一个简单的应用程序 ADD.EXE,它要求输入两个问题,“输入第一个值:”和“输入第二个值:”,然后显示这两个值的总和。然后在 OpenVMS DCL 中可以像这样编写命令脚本 ADD.COM:

$ RUN ADD.EXE
5
7

当这个命令脚本被执行时(如果我没记错的话,输入@ADD.COM),输出将是

12

我试图找到一种方法来使用 Windows 批处理脚本来做同样的事情,但到目前为止还没有成功。是否可以使用批处理脚本来完成,或者在 Windows 下是否有其他方法可以完成?

【问题讨论】:

    标签: command-line batch-file command-line-arguments openvms


    【解决方案1】:

    此 OpenVMS 功能无法直接替代,但解决方法非常简单:

    (
    echo 5
    echo 7
    ) | add.exe
    

    这会生成一个包含两行的临时文件并将其通过管道传输到 ADD.EXE 的输入

    【讨论】:

    • 太棒了!非常感谢@Aacini,这正是我正在寻找的解决方案!
    • @Aacini 有没有办法像你一样通过回声传递 5,然后返回手动用户输入,这样我就可以自己输入 7 或其他数字?我尝试搜索它,但到目前为止我一无所获。在我的场景中,我想通过命令行输入 3 个第一个输入,就像你的答案一样,然后在程序运行后返回手动输入。
    猜你喜欢
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多