matlab创建文件夹与批量移动文件到单一文件夹或者各自文件夹

代码备份自用的,可参考movefile 函数

clear  
clc  
cd('C:\EO');%设置当前目录:current directory   
 for i = 1 : 47 
     folderName{i} = ['sub_', num2str(i)];  
     mkdir(folderName{i});  % 新建一个文件夹   
end 
 eval(['load ',prefix_common,'_ec_fft_stsp_sub_',num2str(i,'%03d'),'.mat;']);

a='C:\EO';
b='C:\EO';

for k = 24:47
%     b=num2str(k,'%3d');
%     a=[sourcePath,'\','N_EC_1_Sub_',num2str(k,'%03d'),'.nii'];
    targetPath=[a,'\','sub_',num2str(k,'%01d')];
    sourcePath=[b,'\','N_EO_Sub_',num2str(k+1,'%03d'),'.nii'];
    movefile(sourcePath,targetPath);
end
你可以使用递归的方法来移动文件夹里的所有文件夹里的文件。以下是一个示例代码: ```matlab % 定义源文件夹和目标文件夹 source_folder = 'C:\source_folder'; target_folder = 'C:\target_folder'; % 移动文件夹里的所有文件 move_files(source_folder, target_folder); % 递归移动所有文件 function move_files(source_folder, target_folder) % 获取源文件夹下的所有文件和子文件夹 files = dir(source_folder); % 遍历所有文件文件夹 for i = 1:length(files) % 如果是子文件夹且不是'.'或'..'文件夹 if files(i).isdir && ~strcmp(files(i).name, '.') && ~strcmp(files(i).name, '..') % 构建子文件夹的源和目标路径 subfolder_source = fullfile(source_folder, files(i).name); subfolder_target = fullfile(target_folder, files(i).name); % 创建目标子文件夹 mkdir(subfolder_target); % 递归移动文件夹下的所有文件 move_files(subfolder_source, subfolder_target); % 如果是文件 elseif ~files(i).isdir % 构建文件的源和目标路径 file_source = fullfile(source_folder, files(i).name); file_target = fullfile(target_folder, files(i).name); % 移动文件 movefile(file_source, file_target); end end end ``` 在代码中,`move_files`函数使用递归的方法来移动文件夹里的所有文件夹里的文件。函数首先获取源文件夹下的所有文件和子文件夹。然后,遍历所有文件文件夹,如果是子文件夹,则构建子文件夹的源和目标路径,并创建目标子文件夹。接下来,递归移动文件夹下的所有文件。如果是文件,则构建文件的源和目标路径,并使用`movefile`函数移动文件。注意,`mkdir`函数用来创建目标子文件夹
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值