-
Notifications
You must be signed in to change notification settings - Fork 0
/
getFilesInDir.m
55 lines (46 loc) · 1.13 KB
/
getFilesInDir.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function files=getFilesInDir(filespec,dirname)
% files=getFilesInDir(filespec,dirname).
% Example: files=getFilesInDir(*.png), then files will be all the png
% filenames in the specified directory.
% If dirname is empty or omitted, then uigetdir will be called to choose a
% directory.
if nargin<2
dirname='';
end
oldDir='./';
if isempty(dirname)
% Open path history.
if exist('path.hist','file')
fid=fopen('path.hist','rt');
oldDir=fgetl(fid);
fclose(fid);
% oldDir=strrep(oldDir,' ','\ '); % escape the space in path name.
% oldDir={oldDir}; % Make it a cell so space in filename will be safe.
end
if ~ischar(oldDir)
oldDir='./';
end
dirname=uigetdir(oldDir);
if isequal(dirname,0)
% disp('User Pressed Cancel.');
files='';
return;
end
end
dirname=[dirname filesep];
if ~strcmpi(oldDir,dirname)
fid=fopen('path.hist','wt');
fprintf(fid,'%s',dirname);
fclose(fid);
end
files2=dir([dirname filespec]);
if isempty(files2)
files='';
return;
end
l=length(files2);
files=cell(l,1);
for i=1:l
files(i)={[dirname files2(i).name]};
end
end