我正在尝试编写一个MATLAB脚本,该脚本将调用并运行外部程序,然后继续执行其他MATLAB命令。
tic %Start stopwatch
system('MyProgram.exe') %Call and run my program
toc %End stopwatch
然而,这个程序" MyProgram.exe"要求我按"按Enter退出。"如何让我的MATLAB脚本通过"输入"继续?喜欢如何传递"输入"作为执行结束时我的程序的输入?或者一般如何做到这一点?
答案 0 :(得分:4)
在 UNIX 上,您可以使用
system('MyProgram < /dev/null').
如Matlab documentation中所述:
要禁用stdin和预先键入重定向,请包含格式化的 调用被调用命令的文本
< /dev/null
。
Windows 等效项(基于this post):
system('MyProgram.exe < NUL')
答案 1 :(得分:4)
当一个控制台程序需要从用户那里获取一次输入并且没有内置的方法(比如将其作为参数传递)时,该输入可以echo
编辑并通过管道输入该程序。这也可用于通过管道空行按Enter(再次,一次)。
echo.|program.exe
虽然传统上使用命令echo
使用echo.
生成空行,但如果当前目录包含名为echo但没有扩展名的文件,则会失败。要解决此问题,您可以使用(
代替.
。
echo(|program.exe