Skip to content
Snippets Groups Projects
Commit a83258d4 authored by Stéphane Adjemian's avatar Stéphane Adjemian
Browse files

Generalised isfile routine (to accept more than one file name to be tested).

parent 1181f9bf
Branches
Tags
No related merge requests found
...@@ -27,7 +27,7 @@ function a = isfile(b) ...@@ -27,7 +27,7 @@ function a = isfile(b)
%! @end deftypefn %! @end deftypefn
%@eod: %@eod:
% Copyright (C) 2012 Dynare Team % Copyright (C) 2012-2017 Dynare Team
% %
% This file is part of Dynare. % This file is part of Dynare.
% %
...@@ -44,18 +44,45 @@ function a = isfile(b) ...@@ -44,18 +44,45 @@ function a = isfile(b)
% You should have received a copy of the GNU General Public License % You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <http://www.gnu.org/licenses/>. % along with Dynare. If not, see <http://www.gnu.org/licenses/>.
% Original author: stephane DOT adjemian AT univ DASH lemans DOT fr stringarrayflag = false;
cellofstringflag = false;
n = 1;
a = false;
[base,ext] = strtok(b,'.'); if isstring(b) && length(b)>1 && isvector(b)
n = length(b);
stringarrayflag = true;
a = false(size(b));
end
if isempty(ext) if iscell(b) && length(b)>1 && isvector(b)
% File has no extension. if all(cellfun(@ischar, b))
[status, c] = fileattrib(b); n = length(b);
if status cellofstringflag = true;
a = ~c.directory; a = false(size(b));
else else
a = 0; error('Wrong input argument type!')
end
end
for i=1:n
if stringarrayflag
d = b(i);
elseif cellofstringflag
d = b{i};
elseif ischar(b) && size(b, 1)==1
d = b;
else
error('Wrong input argument type!')
end
[base, ext] = strtok(d, '.');
if isempty(ext)
% File has no extension.
[status, c] = fileattrib(d);
if status
a(i) = ~c.directory;
end
else
a(i) = isequal(exist(d, 'file'), 2);
end end
else
a = isequal(exist(b,'file'),2);
end end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment