fileparts

Parts of file name and path

Syntax

[pathstr,name,ext] = fileparts(filename)

Description

[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.

Input Arguments

filename

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.

Output Arguments

pathstr

String containing the part of filename interpreted as a path name

name

String containing the name of the file without any extension

ext

String containing the file extension only, beginning with a period (.)

Examples

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.

Alternatives

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.

More About

expand all

Path Name

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 (/).

Tips

  • 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:

    fullfile(pathstr,[name ext])
  • 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.

Was this topic helpful?