我想将“命令行窗口”中的所有内容自动保存到文件中。有没有办法做到这一点?
问问题
53311 次
1 回答
25
您有几个选项可用于从命令行窗口保存内容:
您可以使用DIARY命令执行此操作。您甚至可以自动执行此操作,以便它始终通过修改
startup.m
文件以打开文本日志记录来记录您所做的事情:diary('myTextLog.txt'); %# Text will be appended if this file already exists
然后修改您的
finish.m
文件以关闭注销:diary('off');
这将自动存储每个 MATLAB 会话的命令行窗口的整个文本内容,这可能会变成一个相当大的文本文件。
除了使用 DIARY 命令和修改您的文件之外,另一个选项
startup.m
是finish.m
使用以下-logfile
选项启动 MATLAB :matlab -logfile "myTextLog.txt"
虽然我不确定这是否会在您每次启动 MATLAB 时覆盖文本文件或附加到它。
如果您只是想保存评估一个或多个表达式的输出,您可以使用EVALC函数来评估包含您的表达式的字符串,并捕获通常会在字符数组中进入命令窗口的输出。然后,您可以使用FPRINTF将此字符数组打印到文件中。
最后,如果您对保存键入的命令的显示输出不感兴趣,而只想存储命令本身,那么命令历史记录就是您想要的。MATLAB 会自动存储一个
history.m
最大大小为 200,000 字节的文件,并在添加新条目时删除最旧的条目。
于 2011-04-29T14:29:22.693 回答