how to filter files in matlab
    10 views (last 30 days)
  
       Show older comments
    
i have 1000 .txt files with different file name in a folder(MAIN) and i need to filter some files which the names are given in filestocopy.txt. i need to copy those mentioned files and stored in a separate folder..any help..for example..see below..
 Inside MAIN folder
 SAMPLE_20120807_1816.TXT
SAMPLE_20120807_1916.TXT
SAMPLE_20121207_1311.TXT
SAMPLE_20121307_1816.TXT
SAMPLE_20121322_1902.TXT
SAMPLE_20121412_1351.TXT
 Inside filestocopy.txt
 SAMPLE_20120807_1816
 SAMPLE_20121207_1311
 SAMPLE_20121412_1351
0 Comments
Accepted Answer
  Azzi Abdelmalek
      
      
 on 16 Jan 2014
        files={'SAMPLE_20120807_1816.TXT'
'SAMPLE_20120807_1916.TXT'
'SAMPLE_20121207_1311.TXT'
'SAMPLE_20121307_1816.TXT'
'SAMPLE_20121322_1902.TXT'
'SAMPLE_20121412_1351.TXT'}
files1=strrep(files,'.TXT','')
c=importdata('filename1.txt')
idx=ismember(files1,strtrim(c))
out=files(idx)
destintion='E:/'
for k=1:numel(out)
  copyfile(out{k},destination)
end
More Answers (1)
  Jos (10584)
      
      
 on 15 Jan 2014
        Here is some code to get you started:
CopyFolder = './MyFolder' ;
fid = fopen('files2copy.txt');
Files = textscan(fid, '%s');
fclose(fid);
CurrentFolder = pwd ;
cd (CopyFolder)
for k=1:numel(Files)
   success = copyfile(Files{k}) % copy to current folder
   if ~success, 
     disp([Error in copying file: ' Files{k})]) ;
     break 
   end   
end
cd (CurrentFolder) % back to original folder
8 Comments
  Image Analyst
      
      
 on 15 Jan 2014
				Sandy, you're not accepting the success return arguments. It's more robust to do that, like Jos's code showed. Anyway, does it work? If it does, mark the Answer as "Accepted".
See Also
Categories
				Find more on Environment and Settings in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!