function CheckDirs(dirs,mode) % CheckDirs(dirs,mode): % Iterates over all fields in struct 'dirs' and checks whether the Contents are existing directory addresses. % mode == 'check': Display an error if this is not the case. % mode == 'make' : Creates the directory if it doesnt exist. % Default mode is 'check'. % JvR 2008-03-31 psychassert(isstruct(dirs),'Piss off with your type ''%s''',class(dirs)) % Input must be a struct. if nargin==1 mode = 'check'; % No mode input? Use default (check) end switch mode case 'make' structfun(@makedirs,dirs); % Apply function makedirs to each field in the struct case 'check' structfun(@checkem,dirs); % Apply function checkem to each field in the struct otherwise error('\nUnknown MODE input argument "%s"! \n\nRecognised inputs: ''check'' or ''make''.',mode); end end function checkem(in) psychassert(isdir(in),'Directory %s not found',in); % Directory doesn't exist; error. end function makedirs(in) if ~isdir(in) mkdir(in); % Directory doesn't exist; create. disp(sprintf('Directory %s created.',in)); end end