1

在你回答之前,我不是在寻找;抑制命令行打印的功能。

我有一组不属于我的脚本,我没有能力改变。但是,在我的脚本中,我通过evalin('base', 'scriptName'). 不幸的是,这些其他脚本在我不想看到的命令窗口上做了很多不必要且丑陋的打印。在无法编辑这些其他脚本的情况下,我想要一种在这些其他脚本执行时抑制输出到命令行的方法。

一个可能的答案是使用evalc,但是当我尝试evalc(evalin('base', 'scriptName'))MATLAB 时会抛出一个错误,抱怨它无法将脚本作为函数执行。我希望有类似禁用命令窗口打印或将所有输出重定向到某个空文件的功能,就像/dev/null在 unix 中一样。

4

3 回答 3

1

我认为您只需要将evalc示例中的参数转换为字符串:

evalc('evalin(''base'', ''scriptName'')');
于 2016-04-07T11:48:19.233 回答
0

你在这里试过这个解决方案

echo off;
于 2016-04-06T13:50:51.583 回答
0

我不知道它是否符合您的需求,但另一种解决方案是打开一个新的 Matlab 会话,并只使用最小化-nodesktop的形式(-只是命令窗口)。您可以从那里运行烦人的脚本,并像往常一样在主会话上工作。

这里的问题是会话不能同步,所以如果你需要一直处理脚本的结果,那就有点复杂了。也许您可以将结果保存到磁盘,而不是从主会话中调用它......但这主要取决于您使用这些脚本的工作流程。

于 2016-04-06T14:34:59.613 回答