是否可以使用matlab根据文本文件中列出的文件名提取文件?

是否可以使用matlab根据文本文件中列出的文件名提取文件?,matlab,Matlab,我在一个文件夹中有1000个文件,但是,我只需要根据文本文件中列出的文件名将100个文件从文件夹中提取到新文件夹中。文本文件中的文件名以列的形式列出..这可以用matlab运行吗?我需要编写什么代码?谢谢 例如: filenames.txt位于C:\matlab中 包含千个文件的文件夹在C:\matlab中也被命名为BigFiles 要从BigFiles文件夹提取的文件列如下: filenames.txt a1sndh sd3rfe rgd4de sd5erw 请建议…谢谢…使用以下方法枚举特定

我在一个文件夹中有1000个文件,但是,我只需要根据文本文件中列出的文件名将100个文件从文件夹中提取到新文件夹中。文本文件中的文件名以列的形式列出..这可以用matlab运行吗?我需要编写什么代码?谢谢

例如:

filenames.txt位于C:\matlab中

包含千个文件的文件夹在C:\matlab中也被命名为BigFiles

要从BigFiles文件夹提取的文件列如下:

filenames.txt

a1sndh

sd3rfe

rgd4de

sd5erw


请建议…谢谢…

使用以下方法枚举特定类型文件夹中的所有文件(如果需要):

然后,可以使用Matlab中的一个函数加载单个柱

然后只需循环所有输入名称,并对照所有读入文件(文件{i}.name)检查其名称,如果是,则将其移动。

EDIT: 据我所知,您正在寻找以下解决方案:

filenames.txt moveMyFiles.m
如果您只是想复制文件而不是移动文件,您可以用COPYFILE替换MOVEFILE函数…

我得到的错误如下:???使用==>movefile时出错找不到匹配的文件。在19 movefile(fullfile(sourceDir,fList{i})、fullfile(destDir,fList{i})处出现==>moveMyFiles错误;为了能够帮助您,您应该向我们提供更多信息(有关脚本的文件位置、您正在使用的目录、文本文件是否包含文件的完整路径或仅包含文件名等)。我已编辑了问题..请帮助查看..谢谢..文本文件仅包含名称。
 %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)
a.txt
b.txt
c.txt
.
.
.
%# 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