This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Save Command Window text to file


diary off
diary on
diary filename


The diary function creates a log of keyboard input and the resulting text output, with some exceptions (see Tips for details). The output of diary is an ASCII file, suitable for searching in, printing, inclusion in most reports and other documents. If you do not specify filename, the MATLAB® software creates a file named diary in the current folder.

diary toggles diary mode on and off. To see the status of diary, type get(0,'Diary'). MATLAB returns either on or off indicating the diary status.

diary('filename') writes a copy of all subsequent keyboard input and the resulting output (except it does not include graphics) to the named file, where filename is the full pathname or filename is in the current MATLAB folder. If the file already exists, output is appended to the end of the file. You cannot use a filename called off or on. To see the name of the diary file, use get(0,'DiaryFile').

diary off suspends the diary.

diary on resumes diary mode using the current filename, or the default filename diary if none has yet been specified.

diary filename is the unquoted form of the syntax.


Because the output of diary is plain text, the file does not exactly mirror input and output from the Command Window:

  • Output does not include graphics (figure windows).

  • Syntax highlighting and font preferences are not preserved.

  • Hidden components of Command Window output such as hyperlink information generated with matlab: are shown in plain text. For example, if you enter the following statement

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

    MATLAB displays

    However, the diary file, when viewed in a text editor, shows

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

    If you view the output of diary in the Command Window, the Command Window interprets the <a href ...> statement and displays it as a hyperlink.

  • Viewing the output of diary in a console window might produce different results compared to viewing diary output in the desktop Command Window. One example is using the \r option for the fprintf function; using the \n option might alleviate that problem.

See Also

Introduced before R2006a

Was this topic helpful?