Main Content

diary

将命令行窗口文本记录到日志文件中

说明

diary 开启和关闭日志记录。当开启日志记录时,MATLAB® 从命令行窗口捕获输入的命令、键盘输入和文本输出。它将生成的日志以名为 diary 的 UTF-8 编码的文本文件形式保存到当前文件夹。为确保正确捕获所有结果,请在打开或显示生成的日志之前禁用日志记录。

要查看是否已开启日志记录,请键入 get(0,'Diary')。MATLAB 返回 'on''off'

示例

diary filename 将生成的日志保存到 filename。如果该文件已存在,MATLAB 会将文本追加到文件末尾。要查看当前 diary 日志文件名,请键入 get(0,'DiaryFile')

示例

diary off 禁用日志记录。

示例

diary on 使用当前 diary 日志文件名启用记录。

如果当前 diary 日志文件名不包含完整路径,则 MATLAB 会在每次启用记录时重新确定文件相对于当前文件夹的路径。如果自上次启用记录以来当前文件夹已更改,MATLAB 可能会将日志保存到不同文件。

示例

示例

全部折叠

创建一个 diary 文件并记录多个语句及其输出。

启用日志记录并将生成的日志保存到 myDiaryFile

diary myDiaryFile

执行计算,并在命令行窗口中创建并全 1 矩阵。

a = 1;
b = sin(a);

x = ones(4)
x =

     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1

禁用日志记录并在命令行窗口中显示日志文件。

diary off
type myDiaryFile
a = 1;
b = sin(a);
x = ones(4)

x =

     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1

diary off

输入参数

全部折叠

日志文件名,指定为字符向量或字符串。filename 可以包含当前文件夹的完整路径或相对路径。否则,MATLAB 将 filename 保存在当前文件夹中。

如果 filename 不包含完整路径,则 MATLAB 会在每次启用记录时重新确定文件相对于当前文件夹的路径。如果自上次启用记录以来当前文件夹已更改,MATLAB 可能会将日志保存到不同文件。

局限性

由于 diary 的输出是纯文本,因此日志文件与您在屏幕上看到的内容不完全相同:

  • 该 diary 文件不包括图形(图窗窗口)。

  • 该 diary 文件不保留语法高亮和字体预设项。

  • 对于命令行窗口输出的隐藏部分(例如通过 matlab: 生成的超链接信息),diary 文件会以纯文本形式显示其内容。例如,在命令行窗口中输入以下语句:

    str = sprintf('%s%s', ...
       '<a href="matlab:magic(4)">', ...
       'Generate magic square</a>');
    disp(str)
    

    MATLAB 在命令行窗口中显示此信息:

    Hyperlink with the text "Generate magic square"

    但是在文本编辑器中查看时,diary 文件改为显示以下文本:

    <a href="matlab:magic(4)">Generate magic square</a>

提示

  • 要使用语法高亮查看 diary 文件的内容,请使用 type 函数。

版本历史记录

在 R2006a 之前推出