FixFileName
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 (2026). FixFileName (https://uk.mathworks.com/matlabcentral/fileexchange/8122-fixfilename), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0.0 |