How do I write a script for a GUI.m file that allows me to press a button, choose a (*.csv) file and then copy this (*.csv) file to the current folder so it can be used for an existing simulation?
2 次查看(过去 30 天)
显示 更早的评论
I already have a pushbutton that when pressed allows me to browse for a (*.csv) file. I tried the copyfile function as follows but get an error:
[filename, pathname, filerindex] = uigetfile('*.csv');
[success,message,messaageid] = copyfile(pathname,'A:\',filename);
A:\ is a mapped network drive.
I get the following error: Error using copyfile 'Data1.csv' is an invalid option string.
My code for the pushbutton in the GUI.m file is:
% --- Executes on button press in cmd_getDir.
function cmd_getDir_Callback(hObject, eventdata, handles)%****BROWSE button
[filename, pathname, filerindex] = uigetfile('*.csv'); %Get file
[success,message,messaageid] = copyfile('pathname','A:\',filename);%Need to copy file to current folder
assignin('base','FileCSV',filename); %assign the name FileCSV to the file
set(handles.text_directory,'String', filename); %Put filename in string space
% hObject handle to cmd_getDir (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
I understand from the MATLAB help that:
[SUCCESS,MESSAGE,MESSAGEID] = copyfile(SOURCE,DESTINATION,'f') attempts to copy SOURCE to DESTINATION, as above, even if DESTINATION is read-only. The status of the writable attribute of DESTINATION will be preserved.
INPUT PARAMETERS:
SOURCE: 1 x n string, defining the source file or directory.
DESTINATION: 1 x n string, defining destination file or directory. The default is the current directory.
MODE: character scalar defining copy mode.
'f' : force SOURCE to be written to DESTINATION. If omitted, copyfile respects the current writable status of DESTINATION.
0 个评论
采纳的回答
Matt Fig
2012-12-13
编辑:Matt Fig
2012-12-13
You need to make complete pathnames. One way to do it is to concatenate the output from UIGETFILE and also to concatenate the destination directory with the filename.
[filename, pathname, filerindex] = uigetfile('*.csv');
[S,M,MI] = copyfile([pathname,filename],['A:\',filename]);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!