how to filter files in matlab
23 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Azzi Abdelmalek
2014 年 1 月 16 日
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
その他の回答 (1 件)
Jos (10584)
2014 年 1 月 15 日
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 件のコメント
Image Analyst
2014 年 1 月 15 日
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".
参考
カテゴリ
Help Center および File Exchange で Low-Level File I/O についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!