Copyfile/ movefile when filenames are not directly available

3 views (last 30 days)
Hello Everyone,
I have two .xlsx files in a folder, I want to copy/ move those .xlsx files to a different folder but the user is not aware of file names which are stored in a workspace variable of the same Matlab program.
As shown below: 'flagged' is a workspace variable of my program which has file names. I want to copy/ move those specific files to a separate folder.
I tried following but it's not working
copyfile flagged(i).name newFolder
Please advise.
  1 Comment
Afzal Mohammed
Afzal Mohammed on 29 Mar 2020
Following lines helped.
copyfile(flagged{i}, './newFolder');

Sign in to comment.

Accepted Answer

Peng Li
Peng Li on 28 Mar 2020
flagged is a cell so you couldn’t access it using parentheses and dot motion.
flagged{i} is your ith element in flagged. For example flagged{1} will be myFile.xlsx. If you want to move it somewhere you may also need the full directory as well unless it’s in the current directory.
Peng Li
Peng Li on 29 Mar 2020
If you need to create a folder called newFolder, use mkdir('newFolder'); first to create a folder named newFolder at the current directory.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 28 Mar 2020
Assuming that newFolder is the name of a variable that stores the destination folder name:
copyfile(flagged(i).name, newFolder)
However I would recommend that you should be using fullfile() and should be using exist() to test to be sure that the file exists before you attempt to copy it.
Afzal Mohammed
Afzal Mohammed on 29 Mar 2020
Peng Li,
Correct! that is what I was trying to. Your code workd :) Yeyyy!! Much appreciated, thanks!

Sign in to comment.


Find more on Large Files and Big Data in Help Center and File Exchange



Community Treasure Hunt

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

Start Hunting!

Translated by