matlab复制文件夹里的文件夹里的.osgb文件
时间: 2023-08-08 19:09:55 浏览: 99
你可以使用递归的方法来复制文件夹里的所有.osgb文件。以下是一个示例代码:
```matlab
% 定义源文件夹和目标文件夹
source_folder = 'C:\source_folder';
target_folder = 'C:\target_folder';
% 复制文件夹里的所有.osgb文件
copy_osgb_files(source_folder, target_folder);
% 递归复制所有.osgb文件
function copy_osgb_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);
% 递归复制子文件夹下的所有.osgb文件
copy_osgb_files(subfolder_source, subfolder_target);
% 如果是.osgb文件
elseif ~files(i).isdir && strcmp(files(i).name(end-3:end), '.osgb')
% 构建文件的源和目标路径
file_source = fullfile(source_folder, files(i).name);
file_target = fullfile(target_folder, files(i).name);
% 复制文件
copyfile(file_source, file_target);
end
end
end
```
在代码中,`copy_osgb_files`函数使用递归的方法来复制文件夹里的所有.osgb文件。函数首先获取源文件夹下的所有文件和子文件夹。然后,遍历所有文件和文件夹,如果是子文件夹,则构建子文件夹的源和目标路径,并创建目标子文件夹。接下来,递归复制子文件夹下的所有.osgb文件。如果是.osgb文件,则构建文件的源和目标路径,并使用`copyfile`函数复制文件。注意,`strcmp(files(i).name(end-3:end), '.osgb')`用来判断文件是否是.osgb文件。
阅读全文