File Exchange

image thumbnail

Improved file hounding

version 1.0 (9.83 KB) by

Search any file in current directory and subdirectories according to specified criteria

0 Downloads

Updated

No License

% filename : filehound.m
%==========================================================================
% syntax:
% filelist = filehound(filespec)
% or: filelist = filehound
% for default search for *.m files
%
% description : recursively examines directories for presence of files
% matching the filter defined by input parameter 'filespec'
%
% parameters in : filespec = (optional) filter for filenames default = '*.m'
% filespec can be of any kind: a wild card can be used both for filename
% and for extension.
%
% Examples:
% filelist = filehound('*')
% filelist = filehound('*.*')
%
% Search for all files in current directory and subdirectories
%
% filelist = filehound('myfile')
% filelist = filehound('myfile.*')
%
% Search for all files whose name is 'myfile' independently from extension
%
% filelist = filehound('*.ext')
%
% Search for files with specific extension 'ext'
%
% Search of file is powered also by wild-card handling (i.e.: '*'). The
% only assumption is that the current program assumes that '*' is at least
% a permitted char, i.e. '*' cannot be an empty string. In this way: 'ab*c'
% cannot be equivalent to 'abc' in the search. Moreover '*abc' refers to
% the last part of a string, 'ab*c' sets constraints on first two letters
% of the string and the last letter, 'abc*', requires that the first three
% letters of the string are 'abc'. The string here is meant both filename
% and extension. Hence possible calls of filehound can be:
%
% filelist = filehound('*x.m*t')
% filelist = filehound('a*x.mt*')
% filelist = filehound('ax*.*mt')
% ...
% ...
% and all the other possbile combinations. Only one wild-card for filename
% and extension is allowed.
%
% parameters out: filelist = cell array with paths for specified files
%
% NOTE: the code is not optimized - hence suggestions for further improvement are welcomed.

Comments and Ratings (3)

Maurizio De Pittà

Hi everybody, I have uploaded a new version that uses 'filesep'. Thanks to Thierry Dalon for the nice suggestion.

Thierry Dalon

it seems the author does not know filesep?

Luis Marshall

Easy routine, very practical and effective.

MATLAB Release
MATLAB 7.2 (R2006a)
Acknowledgements

Inspired by: filehound

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video