Parts of file name and path
[pathstr,name,ext] = fileparts(filename) returns the path name, file name, and extension for the specified file. The file does not have to exist. filename is a string enclosed in single quotes. The returned ext field contains a dot (.) before the file extension.
String containing a name of a file or folder, which can include a path and file extension. The function interprets all characters following the right-most delimiter as a file name plus extension.
String containing the part of filename interpreted as a path name
String containing the name of the file without any extension
String containing the file extension only, beginning with a period (.)
Return the pieces of a file specification string to the separate string outputs pathstr, name, and ext. The full file specification is:
file = 'H:\user4\matlab\myfile.txt'; [pathstr,name,ext] = fileparts(file) pathstr = H:\user4\matlab name = myfile ext = .txt
Query parts of a user .cshrc file:
[pathstr,name,ext] = fileparts('/home/jsmith/.cshrc') pathstr = /home/jsmith name = Empty string: 1-by-0 ext = .cshrc
fileparts interprets the entire file name as an extension because it begins with a period.
Use uigetfile to interactively select and return a file name and path, or uigetdir to interactively select and return a path name. If you call fileparts with the output of uigetfile, you can parse out the file name and extension.
The full or partial path to a destination folder location, always the initial portion of the filename string. Path names end with a slash character and, where appropriate, can begin with a drive letter. Windows® paths use backward slashes (\). UNIX and Macintosh paths use forward slashes (/).
fileparts only parses file names. It does not verify that a file or a folder exists.
You can reconstruct the file from the parts using:
On Microsoft® Windows systems, you can use either forward (/) or back (\) slashes as path delimiters, even within the same string. On UNIX® and Macintosh systems, use only / as a delimiter. You can use the filesep function to insert the correct separator character for the platform on which your code executes:
sep = filesep; file = ['H:' sep 'user4' sep 'matlab' sep 'myfile.txt']; file = H:\user4\matlab\myfile.txt
If the input consists of a folder name only, be sure that the right-most character is a delimiter (/ or \). Otherwise, fileparts parses the trailing portion of filename as the name of a file and returns it in name instead of in pathstr.