Error using copyfile from a changing directory
조회 수: 1 (최근 30일)
이전 댓글 표시
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
per isakson
2015년 9월 1일
"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
채택된 답변
Walter Roberson
2015년 9월 1일
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
Walter Roberson
2015년 9월 1일
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.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Search Path에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!