Вместо того, чтобы выполнять утомительную (и потенциально подверженную ошибкам) задачу по вставке всех ваших m-файлов в один для запуска MLINT , у вас есть несколько других вариантов ...
Если у вас есть все файлы в одной папке, самый простой подход - перейти в браузер текущей папки, нажать кнопку Действия , а затем выбрать Отчеты> Отчет анализатора кода .
Откроется новое окно, отображающее результаты MLINT для каждого m-файла в текущем каталоге:
Если вы предпочитаете автоматизировать процесс с помощью скрипта вместо того, чтобы щелкать по пунктам меню, в MathWorks File Exchange есть несколько предложений ( здесь и здесь )которые рекурсивно работают над структурой каталогов, а не с одним каталогом.
Кроме того, ниже приведен пример кода, который будет делать то, что вы хотите для одного каталога:
dirData = dir; %# Get data on the current directory contents
fileIndex = ~[dirData.isdir]; %# Get an index for the files
fileNames = {dirData(fileIndex).name}; %# Get the file names
[~,~,ext] = cellfun(@fileparts,fileNames,... %# Get the file extensions
'UniformOutput',false);
mFileIndex = strcmp(ext,'.m'); %# Get an index for the m-files
cellfun(@mlint,fileNames(mFileIndex)); %# Run MLINT on each m-file
Вы могли бы расширитьНайдите коллекцию имен файлов (и путей) таким образом, чтобы рекурсивно работал с деревом каталогов , затем запустите MLINT для полученного набора файлов, которые вы собираете.