我想在Windows dos终端上运行一个脚本,脚本将在这里显示" Hello world"到终端我从例如
执行了这个matlab.exe -nosplash -nodesktop -nojvm -wait -r printToCommandLine.m
printToCommandLine.m包含:
system(sprintf(' echo Hello world'));
但它只打印到执行脚本
时生成的matlab命令窗口答案 0 :(得分:1)
首先,如果语法发生了变化,我不是一般的,但我必须调用没有文件扩展名'.m'的脚本:
matlab.exe -nosplash -nodesktop -nojvm -wait -r printToCommandLine
否则我将在MATLAB中收到错误。
第二次,这只是一种解决方法,但您可以将当前的命令行输出打印到日志文件,例如'log.txt'使用
matlab.exe -nosplash -nodesktop -nojvm -wait -logfile "log.txt" -r printToCommandLine
日志文件将在运行时更新。为了测试这个,我创建了一个小的示例脚本,看看'log.txt'在执行过程中是如何变化的:
disp('Script execution started. Waiting 10 seconds...')
pause(10)
disp('...waited 10 seconds.');
这不是您想要的,但它让您有机会在执行期间(在文本文件中)获取有关当前命令行输出的实际信息。
我们使用它来进行自动(远程)测试,以便在测试通过
之后将我们的MATLAB命令行输出打印到控制台type log.txt