srcDirName = 'F:\my_source_direction\';
destDirName = 'F:\my_destination_direction\';
% suffix = 'txt'; % suffix = 'cpp'; % suffix = 'c'; suffix = 'h'; % suffix = 'hcpp'; myCopyFileAndSubDir(srcDirName, destDirName, suffix);
function myCopyFileAndSubDir(srcDirName, destDirName, suffix) srcFiles = dir([srcDirName, '\', '*.', suffix]);% 获取特定后缀的文件名 % get file number nFrames=size(srcFiles,1) for k=1:nFrames srcfile_name=srcFiles(k).name; srcfile_basename = srcfile_name(1:end-length(suffix)-1); %去除输入文件的后缀 srcfile_fullname = [srcDirName '\' srcfile_name]; destfile_fullname = [destDirName '\' srcfile_basename '.', suffix ]; % 假设输出文件后缀 与输入后缀相同 fid_src=fopen(srcfile_fullname, 'r'); fid_dest=fopen(destfile_fullname, 'w'); while 1 tline = fgetl(fid_src); if ~ischar(tline ), break; end % disp(tline) fprintf(fid_dest, '%s\n', tline ); end fclose(fid_src); fclose(fid_dest); end srcSubDir = dir(srcDirName); % 获取所有文件名以及子文件夹名 for j=1:length(srcSubDir) if( isequal( srcSubDir( j ).name, '.' )||... isequal( srcSubDir( j ).name, '..')||... ~srcSubDir( j ).isdir) % 如果不是目录则跳过 continue; end srcSubDirName = fullfile( srcDirName, srcSubDir( j ).name ) destSubDirName = fullfile( destDirName, srcSubDir( j ).name ); mkdir(destSubDirName); % 递归调用 myCopyFileAndSubDir(srcSubDirName, destSubDirName, suffix); end
copy文件中指定 文本类型文件(*.txt, *.c, *.h等文件),支持子目录递归拷贝,用 matlab 实现。
最新推荐文章于 2024-03-09 20:38:25 发布