我需要跳过不同子文件夹中的一些特定文件。所以我在代码片段中尝试了行“if filename”,如果文件名不包含raw,info,请执行一些操作,但它不起作用。我真的很感激,如果有人能指出我正确的方向,我怎么能跳过这些具有特定字符的文件名,如“raw”或“info”。
input_dirName = dir('D:\Neda\Pytorch\CAMUS\training\');
Output_dirName = 'D:\Neda\Pytorch\CAMUS\data\';
GT_dirName = 'D:\Neda\Pytorch\CAMUS\GT\';
dirName = 'D:\Neda\Pytorch\CAMUS\training\';
fileList = SureScan_getAllFiles(dirName);
foldername = fullfile({input_dirName.folder}, {input_dirName.name});
foldername = foldername(3:end);
for k = 1:length(fileList)-50
filename = fileList{k};
if filename ~= contains(filename,'raw') | filename ~= contains(filename,'Info_') | filename ~= contains(filename,'sequence.mhd')| filename ~=contains(filename,'_sequence')
% do some operation
end
end
contains
的输出是true
或false
,因此它永远不会等于任何文件名。
要跳过包含'raw'
,'Info_'
,'sequence.mhd'
或'_sequence'
中任何一个的文件名,请使用:
if ~contains(filename, {'raw', 'Info_', 'sequence.mhd', '_sequence'})
%do some operation
end