FixFileName

removes invalid symbols from a filename taking the OS into account, automatically or by specifying a
2K Downloads
Updated 27 Jul 2005

No License

FIXFILENAME (oldfilename, sysname, usespaces, eightthree) removes such invalid symbols from a filename taking the OS into account, automatically or by specifying as a parameter

You should update the definitions in the switch statement; I did not
take much care in researching them.

INPUTS DEFINITION DEFAULT VALUE
OLDFILENAME input {'adhj?*.8&a','AC li*e.cfg','Lo%g.txt'};
SYSNAME specified OS automatic
USESPACES include spaces? 1
EIGHTTHREE use 8.3 format 0
EXTENDASCII Use chars 128-255 1

OUTPUTS
NEWFILENAME

USAGE
disp('USE DEFAULT');
disp('fixfilename');
fixfilename

disp('SPECIFY IN AND OS');
disp('fixfilename({''adhj?*.8&a'',''AC li*e.cfg'',''Lo%g.txt''},''DOS''))');
fixfilename({'adhj?*.8&a','AC li*e.cfg','Lo%g.txt'},'DOS')

disp('SPECIFY IN, OS and USESPACES');
disp('fixfilename({''adhj?*.8&a'',''AC li*e.cfg'',''Lo%g.txt''},''WIN'',1)');
fixfilename({'adhj?*.8&a','AC li*e.cfg','Lo%g.txt'},'WIN',1)

disp('SPECIFY IN, OS, not USESPACES and EIGHTTHREE');
disp('fixfilename({''adhj?*.8&a'',''AC li*e.cfg'',''Lo%g.txt''},''WIN'',0,1)');
fixfilename({'adhj?*.8&a','AC li*e.cfg','Lo%g.txt'},'WIN',0,1)

disp('SPECIFY IN, not USESPACES and EIGHTTHREE WHILE LETTING THE FUNCTION');
disp('SPECIFY THE os');
disp('fixfilename({''adhj?*.8&a'',''AC li*e.cfg'',''Lo%g.txt''},[],0,1)');
fixfilename({'adhj?*.8&a','AC li*e.cfg','Lo%g.txt'},[],0,1)

IT'S NOT FANCY, BUT IT WORKS

Cite As

Michael Robbins (2024). FixFileName (https://www.mathworks.com/matlabcentral/fileexchange/8122-fixfilename), MATLAB Central File Exchange. Retrieved .

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

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