系统:Windows 7 64位。界面:cmd.exe。
我需要批量运行可执行文件。在交互模式下运行时,可执行文件会要求输入一系列命令(当然,每个命令后面都跟有 Enter 键),最后要求您按 Enter 键继续(并完成)。最后一步阻碍了我。我设法写了以下内容:
mycode.exe < batch.txt
该文件batch.txt
包含以下内容。
bar.out
28
foo.in
summary.out
这四行包含正确的命令mycode.exe
。问题是我不知道如何将“Enter”命令发送给mycode.exe
...有办法吗?
编辑:也许我没用对词。我既不是程序员也不是计算机科学家。我会用一个实际的例子来尝试:如果我打开一个cmd
提示符并输入(然后按 Enter)
D:\test> mycode.exe
我明白了
Enter output file name:
我写的
bar.out
然后我得到一个可供选择的选项列表,以及提示:
Enter option from menu:
我进入
28
我明白了
Enter input file name:
我进入
foo.in
我明白了
Enter summary file:
我进入
summary.out
然后代码向屏幕发送一个长输出,最后写入:
Press ENTER to continue
如果我不使用命令行运行它,而是使用
mycode.exe < batch.txt
我收到一个 Fortran 错误,所以我在想也许我需要在我的文件中包含相当于按下 ENTER 键的操作batch.txt
。
答案1
由于程序似乎从标准输入流读取,因此添加最后一个空白行应该batch.txt
可以解决问题。如果没有,那么最后一个提示是不是使用标准输入,您将不得不借助于诸如 SENDKEYS 或 KEYSTACK 之类的第三方技巧。