visdiff

Сравнение двух файлов или папок

Описание

пример

visdiff(name1,name2) отображает различия между двумя указанными файлами или папками в инструменте сравнения. Инструмент сравнения файлов поддерживает многие типы файлов, такие как MATLAB® файлы кода, zip-файлы, MAT-файлы и различные другие MATLAB и Simulink® форматы файлов.

Использовать visdiff сравнить две модели Simulink и идентифицировать изменения или объединить различия между моделями. Для получения дополнительной информации смотрите Сравнение моделей (Simulink).

пример

visdiff(name1,name2,type) сравнивает эти два файла или папки с использованием заданного типа сравнения. Если вы не задаете тип, visdiff использует тип сравнения по умолчанию для выбранных файлов. The type опция не применяется при сравнении папок.

пример

comparison=visdiff(___) сравнивает два файла модели и возвращает объект сравнения, содержащий различия между этими двумя файлами. Этот синтаксис не открывает Инструмент и поддерживается только для сравнения моделей Simulink. name1 и name2 должны быть файлами модели. Используйте объект сравнения, чтобы манипулировать сравнением в командной строке, например, путем применения фильтров и публикации отчетов о сравнении.

Примеры

свернуть все

Сравните два файла, используя как относительные, так и полные пути.

Сравните два файла lengthofline.m и lengthofline2.m в текущей папке.

visdiff('lengthofline.m','lengthofline2.m')

Сравните две демо- файлы gatlin.mat и gatlin2.mat использование полного имени файла.

visdiff(fullfile(matlabroot,'toolbox','matlab','demos','gatlin.mat'), ...
fullfile(matlabroot,'toolbox','matlab','demos','gatlin2.mat'))

Сравните два файла lengthofline.m и lengthofline2.m как двоичный.

Если вы не задаете тип, visdiff сравнивает эти два файла с использованием типа сравнения текста по умолчанию. Изменяя тип двоичного сравнения, можно изучить различия, такие как символы конца строки.

visdiff('lengthofline.m','lengthofline2.m','binary')

При сравнении моделей Simulink можно манипулировать сравнением в командной строке, задав выходной аргумент visdiff.

Сравните два файла модели и получите выход объекта сравнения от visdiff.

comparison = visdiff(modelname1, modelname2);

(Необязательно) Фильтрация результатов сравнения. Поддерживаемые фильтры: 'unfiltered' - удаляет всю фильтрацию из сравнения, или 'default' - стратегия фильтрации по умолчанию для сравнений.

filter(comparison, 'unfiltered');

Чтобы опубликовать отчет о сравнении в файл, используйте publish на объекте сравнения. Формат опубликованного отчета по умолчанию является HTML. publish сохраняет файл в текущей папке следующим образом filename1_filename2.html.

file = publish(comparison);
web(file)

Чтобы задать опции для отчета, используйте следующие пары "имя-значение" с publish.

  • 'Format' - Формат файла опубликованного отчета.

    Опции: 'html' (по умолчанию) - однофайловый HTML, 'docx' - Microsoft® Документ Word, или 'pdf' – PDF document.

  • 'Name' - имя отчета.

    Вектор символов или скалярные строковые массивы. Если вы задаете расширение файла, то 'Format' игнорируется.

  • 'OutputFolder' - Где сохранить отчет.

    Вектор символов или скалярные строковые массивы. По умолчанию это текущая папка.

Кроме того, можно задать пары "имя-значение" в options структура: publish(comparison, options).

Входные параметры

свернуть все

Имя файла или папки для сравнения, заданное как вектор символов. name может включать относительный путь, но относительный путь должен находиться в текущей папке. В противном случае name должен включать полный путь.

Тип сравнения, заданный как 'text', 'binary', или 'xml'. Некоторые сравнения не поддерживают все типы сравнения. Если задан неподдерживаемый тип сравнения, MATLAB отображает ошибку.

Чтобы изучить различия, такие как символы конца строки в текстовых файлах, задайте 'binary' тип сравнения.

Тип сравнения по умолчанию для XML- файлов зависит от типа XML и либо 'text' или 'xml'. Задайте 'text' или 'xml' для переопределения типа сравнения по умолчанию для файла.

Выходные аргументы

свернуть все

Объект сравнения для манипулирования сравнением в командной строке, например, путем применения фильтров и публикации отчетов о сравнении. Поддерживается только для сравнения моделей Simulink.

Ограничения

MATLAB Online™ поддерживает только сравнение текстовых файлов и файлов кода MATLAB. Другие типы файлов, такие как zip-файлы, MAT-файлы и модели Simulink, в настоящее время не поддерживаются.

Совет

В некоторых случаях для выбора может быть доступно несколько типов сравнения (например, текст, двоичный файл, список файлов или сравнение XML). Чтобы выбрать другой тип сравнения, используйте visdiff и задайте type аргумент. Можно также выбрать из доступных типов сравнения в инструменте сравнения. Для получения дополнительной информации смотрите Сравнение файлов и папок и Слияние файлов.

Альтернативная функциональность

Как альтернатива visdiff функция, используйте Инструмент сравнения, чтобы сравнить файлы или папки в интерактивном режиме. Чтобы открыть Инструмент, перейдите на вкладку Home, а в File разделе нажмите Compare. Затем выберите файлы или папки для сравнения.

Можно также сравнить файл, открытый в редакторе. На вкладке Editor или Live Editor, в разделе File, выберите Compare.

Чтобы сравнить файл с версией autosave или сохраненной версией на диске, перейдите на вкладку Editor и нажмите Compare и выберите Compare with Version on Disk или Save and Compare with Autosave. Если файл изменен, редактор сохраняет файл перед сравнением. Опции Compare with Version on Disk и Save and Compare with Autosave доступны, только если опция автоматического сохранения изменений в файле отключена. Чтобы отключить опцию, перейдите на вкладку Home, а в разделе Environment нажмите Preferences. Затем выберите Editor/Debugger и очистите Save changes upon clicking away from a file.

Чтобы сравнить файл или папку в браузере Текущей папки, щелкните правой кнопкой мыши выбранный файл или папку и выберите Compare Against. Чтобы сравнить два файла или подпапки, щелкните правой кнопкой мыши выбранные файлы или папки и выберите Compare Selected Files/Folders.

Введенный в R2008b