filefun: Apply a function to files

Adds multi-file functionality to functions handling only single files.
3.7K Downloads
Updated 16 Feb 2007

No License

Editor's Note: This file was a File Exchange Pick of the Week

FILEFUN is created in the same spirit as e.g. CELLFUN, in that it repeatedly calls the same function FUN with different arguments, in this case filenames. It will then collect the output(s) of the function into concatenated arrays of the same type as FUN delivers, or encapsulated individually in cell arrays.

The filename argument to FILEFUN may contain wildcards(*) and FILEFUN may optionally traverse subdirectories recursively.

FILEFUN can also be called without the FUN argument, turning it into a recursive wildcard file finder.

See 'help filefun' for extensive help and more examples.

Examples:

Open all figure files in current directory:

filefun(@openfig,'*.fig')

Pick a couple of image files and compute their mean RGB values:

pth=fullfile(matlabroot, 'toolbox', ...
'matlab', 'demos', 'html', filesep);
[filenames,pathname]=uigetfile('*.png','Pick files', ...
pth,'MultiSelect', 'on');
fun=@(fn) squeeze(mean(mean(imread(fn))))';
mn=filefun(fun,strcat(pathname,filenames))

Cite As

Jerker Wagberg (2024). filefun: Apply a function to files (https://www.mathworks.com/matlabcentral/fileexchange/9723-filefun-apply-a-function-to-files), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP3
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: parse_pv_pairs

Inspired: Bl

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0

Upload problems resulted in not uploading new code.