How to copy files but not folders from one folder to destination?

18 views (last 30 days)
Not sure why I am having difficulty searching for this but all the questions I found were just about copying specific file or specific patterns of files.
Is there a quick way to ask copyfile to copy only the files but not the folders that may also be in the directory to a destination directory?
Thanks!
Jesse
  2 Comments
dpb
dpb on 1 Jul 2019
Not by itself, no...it's not that smart.
Couple ways to work around limitations; probably simplest in Matlab alone is to use dir('*.*') and iterate over the contents checking each entry is not a directory before passing to copyfile.
Another job really best to pass to the underlying OS with appropriate switches to whatever command is appropriate for the OS you're using.
Zhangxi Feng
Zhangxi Feng on 1 Jul 2019
Yeah so I implemented this with the dir command and removing all the items that are directories then iterate through each of the remaining files with copyfile.
Thanks!

Sign in to comment.

Accepted Answer

Zhangxi Feng
Zhangxi Feng on 1 Jul 2019
For others who may have a similar question, I achieved this goal by using the following:
sourceDir = dir(runSource);
sourceDir([sourceDir.isdir]) = [];
for k = 1:numel(sourceDir)
sourceFile = [sourceDir(k).folder,'/',sourceDir(k).name];
destFile = [curDir,'/',sourceDir(k).name];
copyfile(sourceFile,destFile);
end

More Answers (0)

Categories

Find more on File Operations in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!