можно извлечь файлы по имени файла, указанному в текстовом файле, используя matlab? - PullRequest
0 голосов
/ 11 июля 2011

У меня есть тысячи файлов в папке, однако мне нужно только извлечь сотни файлов из папки в соответствии с именем файла, указанным в текстовом файле, в новую папку. Имена файлов в текстовом файле указаны в виде столбца ... это можно запустить с помощью Matlab? Какой код мне нужно написать? Спасибо.

пример:

filenames.txt находится в C: \ matlab

папка, содержащая тысячи файлов, также называется BigFiles в C: \ matlab

файлы для извлечения из папки BigFiles перечислены в столбце ниже:

filenames.txt

a1sndh

sd3rfe

rgd4de

sd5erw

пожалуйста, сообщите ... спасибо ...

Ответы [ 2 ]

1 голос
/ 11 июля 2011

РЕДАКТИРОВАТЬ:

Из того, что я понял, вы ищете решение в соответствии с:

filenames.txt

a.txt
b.txt
c.txt
.
.
.

moveMyFiles.m

%# read filenames listed in a text file
fid = fopen('C:\matlab\filenames.txt');
fList = textscan(fid, '%s');
fList = fList{1};
fclose(fid);

%# source/destination folder names
sourceDir = 'C:\matlab\BigFiles';
destDir = 'C:\matlab\out';
if ~exist(destDir,'dir')
    mkdir(destDir);
end

%# move files one by one
for i=1:numel(fList)
    movefile(fullfile(sourceDir,fList{i}), fullfile(destDir,fList{i}));
end

Вы можете заменить функцию MOVEFILE на COPYFILE, если вы просто хотите скопировать файлы вместо их перемещения ...

1 голос
/ 11 июля 2011

Перечислить все файлы в папке определенного типа (при необходимости), используя:

 %main directory to process
directory = 'to_process';

%enumerate all files (.m in this case)
files = dir(fullfile(directory,'*.m'));

numfiles = length(files);
fprintf('Found %i files\n',numfiles)

Затем вы можете загрузить один столбец, используя одну из многих функций ввода / вывода файлов в Matlab.

Затем просто прокрутите все входные имена и проверьте его имя по всем прочитанным в файлах (файлам {i} .name), и, если это так, переместите его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...