在我正在工作的目录中,我有很多文件file1 file2 file3
等。我事先不知道文件的名称,但我知道它们是唯一以 开头的文件A
,例如A*.txt
. 如何将数组中的文件名传递给 MATLAB?
问问题
155 次
3 回答
3
只需使用
files=dir('./A*.txt')
files 是一个结构,因此您可以使用
files(Index).name
如果您想要一个易于使用的单元格数组中的所有文件名,请尝试
cellarray = {files(:).name}
于 2013-05-14T18:28:45.193 回答
1
这是一个简短的答案:
filenames = dir('A*')
这假设您要返回当前目录中以“A”开头的文件,但您可以根据需要构建此示例。
于 2013-05-14T18:23:38.237 回答
1
你的问题有点宽泛,所以我会做一些假设,即你不介意元胞数组并且文件具有特定的扩展名。话虽如此,如果您想以一般方式进行操作并且您知道扩展名,则可以执行以下操作:
编辑:鉴于您知道文件名的第一部分,您可以修改对dir
函数的调用,以反映:
%have the part of the filename you know here, in your question that being 'A'
file_prefix = 'A';
file_path = pwd;
%this will get all of the .txt files. Put the extension you want here
file_names = dir(strcat(file_path,filesep,file_prefix,'*.txt'));
fnames = cell(length(file_names), 1);
for i=1:length(file_names)
fnames{i} = file_names(i).name;
end
这将给出一个包含指定扩展名的所有文件名的字符串元胞数组,您可以将其传递给任何需要文件名的文件名。您可以通过指定路径将其概括为从任何目录获取文件名(而不是使用pwd
,它获取当前目录的内容)
于 2013-05-14T18:23:06.560 回答