Error using copyfile from a changing directory
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Calabrese
le 1 Sep 2015
Modifié(e) : Calabrese
le 2 Sep 2015
I am pulling a file to read in from an always changing directory. I would like to copy this file into a directory I have it for storage and further data analysis.
this_folder = pwd
[data, path] = uigetfile('*csv')
data2 = fullfile(path, data)
do some processing then when I am finished
f_all = fullfile(this_folder, 'data_plots\All_data_plots')
copyfile(data,f_all)
I get the error:
Error using copyfile
Argument must contain a string
The problem is data, data2, f_all, path, and this_folder are all characters so I am not sure what it means by must contain a string.
5 commentaires
per isakson
le 1 Sep 2015
"class char for all"   Are you sure?
>> copyfile( 'abc', 'def' )
Error using copyfile
No matching files were found.
>> copyfile( 1, 'def' )
Error using copyfile
Argument must contain a string.
and clicking the Cancel-button
>> [ file, folder ] = uigetfile('*.csv')
file =
0
folder =
0
Réponse acceptée
Walter Roberson
le 1 Sep 2015
If the user cancels uigetfile() then the file output (which you call "data") will return a numeric value rather than a character.
If you use uigetfile() with Multiselect turned on, then the file output will return as a cell array of strings, even if only one value is chosen by the user.
3 commentaires
Walter Roberson
le 1 Sep 2015
uigetfile() uses the native file choice interfaces so it looks different for each operating system. For OS-X, in the bottom right corner there will be the normal "Open" button to select the file, but just to the left of that there will be a "Cancel" button. If the user chooses to Cancel then the output is not a character string.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Search Path dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!