复制文件名为

时间:2016-02-05 22:31:50

标签: matlab copy filepath

我尝试使用更改的文件名复制多个文件。这似乎很容易,但我似乎无法在不实际列出整个文件名的情况下解决该怎么做。文件名的前几个字母对应于我逐个循环的主题名称。在每个文件夹中,有2个文件,一个类似于此subj1_load1_vs_load2.img,一个是subj1_load1_vs_load2.hdr。我希望他们俩都被复制了。以下是我的内容:

subj={'subj1','subj2','subj3','subj4','subj5'}

for i=1:length(subj)
    source=fullfile(filedir,subj{i},sprintf('^%s_.*\.*',subj{i})); % this doesn't seem to work
    destination=fullfile(destdir,subj{i});
    copyfile(source,destination);
end

我也尝试过:

source=dir([filedir subj{i} strcat(subj{i},'*')]);

这似乎不必要地复杂化,因为我需要处理.name。但也许我不知道如何使用它。

无论如何,问题在于source,因为我正在尝试查找要复制的文件。

我很感激任何建议。

1 个答案:

答案 0 :(得分:1)

以下是丹尼尔的回答(为我解决了这个问题)

source=fullfile(filedir,subj{i},strcat(subj{i},'*'))