RELFILE(FILE,PATH) converts full filename FILE to a relative filename with respect to PATH.
REL2FULLFILE(RELFILE,PATH) converts relative filename RELFILE to full filename using PATH as the base path.
relfile('C:\Program Files\MATLAB\R2009a\bin\matlab.exe','C:\Program Files\MATLAB\R2009a')
returns '.\bin\matlab.exe' and
gets the original path back.
relfile('C:\Program Files\MATLAB\R2009a\bin\matlab.exe','C:\Program Files\MATLAB\R2009a\toolbox\matlab')
returns '..\..\bin\matlab.exe' and
expands to 'C:\MATLAB\bin\matlab.exe'
Note on OS Compatibility:
Although these functions are written to be OS independent, they have been only tested under Windows. Please report here if you successfully used these functions under Linux or Mac.
Kesh Ikuma (2020). Relative Filename (https://www.mathworks.com/matlabcentral/fileexchange/25701-relative-filename), MATLAB Central File Exchange. Retrieved .
And one more bug:
I've just noticed, that R2016a (preview) throws lots of:
Warning: NARGCHK will be removed in a future release. Use NARGINCHK or NARGOUTCHK instead.
> In relfile (line 27)
(which could be easily fixed, though).
Kesh, could you please update your submission, just to keep it up-to-date?
@Igor - thanks for the report. I've uploaded the fixed version
Just found another bug:
returns "1.txt" .
It also errors for
Works fine on Linux.
Note that it works wrong if the 2nd input contains /..
Overall very handy.
- fixed a bug in RELFILE (erred out if FILE was a cellstr)
bug fix in relfile.m
fixed the bug reported by igor
Another little mistake corrected...
Corrected last-minute mistakes in previous submission
Complete revamp of the codes, fixing a few bugs along the way.
Added support for FILE given as a cellstr array, allowing multiple conversions with 1 call