19

我想将“命令行窗口”中的所有内容自动保存到文件中。有没有办法做到这一点?

4

1 回答 1

25

您有几个选项可用于从命令行窗口保存内容:

  • 您可以使用DIARY命令执行此操作。您甚至可以自动执行此操作,以便它始终通过修改startup.m文件以打开文本日志记录来记录您所做的事情:

    diary('myTextLog.txt');  %# Text will be appended if this file already exists
    

    然后修改您的finish.m文件以关闭注销:

    diary('off');
    

    这将自动存储每个 MATLAB 会话的命令行窗口的整个文本内容,这可能会变成一个相当大的文本文件。

  • 除了使用 DIARY 命令和修改您的文件之外,另一个选项startup.mfinish.m使用以下-logfile选项启动 MATLAB :

    matlab -logfile "myTextLog.txt"
    

    虽然我不确定这是否会在您每次启动 MATLAB 时覆盖文本文件或附加到它。

  • 如果您只是想保存评估一个或多个表达式的输出,您可以使用EVALC函数来评估包含您的表达式的字符串,并捕获通常会在字符数组中进入命令窗口的输出。然后,您可以使用FPRINTF将此字符数组打印到文件中。

  • 最后,如果您对保存键入的命令的显示输出不感兴趣,而只想存储命令本身,那么命令历史记录就是您想要的。MATLAB 会自动存储一个history.m最大大小为 200,000 字节的文件,并在添加新条目时删除最旧的条目。

于 2011-04-29T14:29:22.693 回答