Problems about extracting all the data files

%This function is used to get all the data files to be processed
%fdir--the directory of files to be processed
function ufnames = getdatafile(fdir,debug)
close all;
if ~isdir(fdir)
error('FOLDER DOES NOT EXIST')
end
fnames_all = dir(fdir); %GET LIST OF FILES IN fdir FOLDER
if debug
fprintf('\n')
fprintf('\nNames of files inside given directory:\n')
fnames_all
fprintf('\n')
end
%EXTRACT FILE NAMES TO BE PROCESSED
ufnames = [];
sfnames_all = size(fnames_all);
for i = 1:sfnames_all(1)
[path, fname, ext] = fileparts(fnames_all(i).name);
if strcmpi(ext, '.ovf')
ufnames = char(ufnames, [fdir fname ext]); %IF OVF FILE SAVE FULL NAME
end
end
ufnames = ufnames(2:end,:);
if debug
fprintf('\n')
fprintf('\nNames of only ovf files inside given directory:\n')
ufnames
fprintf('\n')
end
end
This is my code, and I want to use this function to wxtract all the data files to be processed. But when I run it, I always get an error at"ufnames = char(ufnames, [fdir fname ext]);", which says"Error using char, Inputs must be character arrays." How can I solve it? How to append the new file name into the array in each loop?

 채택된 답변

Shawn Duenas
Shawn Duenas 2019년 2월 6일
편집: Shawn Duenas 2019년 2월 6일

0 개 추천

replace that line with:
ufnames = [ufnames, [fdir fname ext]];
it seems like you're trying to concatenate everything together. into one long string.
try this for better coding style:
ufnames = [ufnames, fullfile(fdir, [fname, ext]), newline];
Also try these lines of code to replace much of the script:
fnames_all = dir(fullfile(fdir,'*.ovf'));
ufnames ={fnames_all.name}';

댓글 수: 2

Yixin Shao
Yixin Shao 2019년 2월 7일
Thank you very much! Could I ask one more question? How can I make the newly appended file name into another row, not another column? Since the "newline" here just add an extra column.
Yixin Shao
Yixin Shao 2019년 2월 7일
I changed the comma into semicolon and it works. THX

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 File Operations에 대해 자세히 알아보기

태그

질문:

2019년 2월 6일

댓글:

2019년 2월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by