MATLAB: Aide au débogage nécessaire :(

J’essaie d’avoir une boucle qui extrait tous les fichiers qui ne commencent pas par ~ $ et se termine par xls ou xlsx
Voilà ce que j’ai
 
n = length(list);
%list is an cell array of a list of folders that I have
i = 0; ii=0;
for k = 1 : n
Sub = list{k};
filehunt = fullfile(Sub, '*.xls*');
Excel = dir(filehunt);
%here I use the loop to "dir" all files that contain the keywords .xls
if ~isempty(Excel)
for k2 = 1 : length(Excel)
ii=ii+1;
if strncmp('~$',Excel(k2).name,2)== 0
goodexcel(ii)=Excel(k2).name;
%here I try to eliminate any files that have ~$ in front
if ~isempty(goodexcel)
for k3 = 1 : length(goodexcel)
i=i+1;
if ~isempty(regexp(goodexcel(k3).name, '\.xlsx?$', 'once'));
ExcellentExcel(i)=goodexcel(k3).name
%here I try to find all files that end in xls or xlsx instead of just having .xls somewhere in the file name
end
end
end
end
end
end
end
 
Cela n’a pas pu fonctionner en raison de l’erreur:
Non-concordance des dimensions d’affectation en indice.
Veuillez éclairer mon pauvre cerveau avec n’importe quelle compétence / astuces de codage matlab.
Merci pour votre patience.

Meilleure réponse

  • Regarde ça:
     

    if all(Excel(k2).name(1:2) == '~$')
    msgbox('It starts with ~$ so skip this file');
    break; % Skip to bottom of loop
    else
    msgbox('It does not start with ~$');
    end