如何从命令行运行matlab并打印到命令行?

kka*_*bat 6 matlab command-line-interface

我想在Windows dos终端上运行一个脚本,脚本将向我执行此操作的终端显示"Hello world",例如

matlab.exe -nosplash -nodesktop -nojvm -wait -r printToCommandLine.m

printToCommandLine.m包含的位置:

system(sprintf('echo Hello world'));

但它只打印到执行脚本时生成的matlab命令窗口

小智 2

首先,我不确定语法是否已更改,但我必须调用不带文件扩展名“.m”的脚本:

matlab.exe -nosplash -nodesktop -nojvm -wait -r printToCommandLine
Run Code Online (Sandbox Code Playgroud)

否则我会在 MATLAB 中收到错误。

其次,这只是一种解决方法,但您可以使用以下命令将当前的命令行输出打印到日志文件,例如“log.txt”

matlab.exe -nosplash -nodesktop -nojvm -wait -logfile "log.txt" -r printToCommandLine
Run Code Online (Sandbox Code Playgroud)

日志文件将在运行时更新。为了测试这一点,我创建了一个小示例脚本,并查看了“log.txt”在执行过程中如何变化:

disp('Script execution started. Waiting 10 seconds...')
pause(10)
disp('...waited 10 seconds.');
Run Code Online (Sandbox Code Playgroud)

这并不完全是您想要的,但它使您有机会在执行期间获取有关当前命令行输出的实际信息(在文本文件中)。

我们使用它进行自动化(远程)测试,在测试通过后将MATLAB 命令行输出打印到控制台

type log.txt
Run Code Online (Sandbox Code Playgroud)