Main Content

rmdir

Description

example

rmdir folderName removes the folder folderName from the current folder. folderName must be empty. If the operation is not successful, MATLAB® throws an error to the Command Window.

example

rmdir folderName s also attempts to remove all subfolders and files in folderName, regardless of their write permissions. The result for read-only files follows the practices of the operating system.

example

status = rmdir(___) removes the specified folder and returns a status of 1 if the operation is successful. Otherwise, rmdir returns 0. Warnings and errors are not thrown to the Command Window. You can use this syntax with any of the input argument combinations in the previous syntaxes.

example

[status,msg] = rmdir(___) also returns the message text for any warning or error that occurs.

example

[status,msg,msgID] = rmdir(___) also returns the message ID for any warning or error that occurs.

Examples

collapse all

Create the folders myproject and myproject/myfiles in the current folder, and then remove them.

mkdir myproject
mkdir myproject/myfiles

rmdir myproject/myfiles
rmdir myproject

Remove the folder myfiles, which contains the files myfile1.m and myfile2.m.

Create the folder myfiles and move the files myfile1.m and myfile2.m from the current folder into the new folder.

mkdir myfiles
movefile myfile1.m myfiles
movefile myfile2.m myfiles

Try to remove the folder myfiles using rmdir. Because the myfiles folder is not empty, the operation fails and returns a status of 0 and an error message detailing why the operation failed.

[status, message, messageid] = rmdir('myfiles')
status = logical
   0

message = 
'No directories were removed.'
messageid = 
'MATLAB:RMDIR:NoDirectoriesRemoved'

Now, use the 's' flag to remove the folder myfiles. A status of 1 and an empty message and messageid indicate that the operation is successful.

[status, message, messageid] = rmdir('myfiles', 's')
status = logical
   1

message =

  0x0 empty char array


messageid =

  0x0 empty char array

Input Arguments

collapse all

Folder name to remove, specified as a character vector or string scalar. Specify folderName as an absolute or relative path.

Data Types: char | string

Output Arguments

collapse all

Status of folder indicating if the attempt to remove the folder is successful, specified as 0 or 1. If the attempt is successful, status is 1. Otherwise, status is 0.

Data Types: logical

Error message, specified as a character vector. If an error or warning occurs, msg contains the message text of the error or warning. Otherwise, msg is empty, ''.

Error message identifier, specified as a character vector. If an error or warning occurs, msgID contains the message identifier of the error or warning. Otherwise, msgID is empty, ''.

Tips

  • You can use rmdir to create folders in remote locations. To write to a remote location, folderName or parentName must contain the full path of the file specified as a uniform resource locator (URL) of the form:

    schema_name://path_to_file/folderName

    or

    schema_name://path_to_file/parentName

    It is also valid to use one or three "slash" (/) characters between schema_name and path_to_file. For example:

    schema_name:/path_to_file/folderName

    or

    schema_name:///path_to_file/parentName

    Based on your remote location, schema_name can be one of the values in this table.

    File Systemschema_name
    Amazon S3™s3
    Windows Azure® Blob Storagewasb, wasbs
    HDFS™hdfs

    As with local folders, rmdir cannot remove nonempty virtual folders unless you specify the s flag. Some file services do not support empty folders. On these services, if rmdir removes folders and leaves their parent folder empty, then the parent folder will be removed as well. For more information, see Work with Remote Data.

Alternative Functionality

In the Current Folder browser, right-click the folder name and select Delete from the context menu. To open the Current Folder browser, use the Current Folder Browser command.

Compatibility Considerations

expand all

Behavior changed in R2020a

Introduced before R2006a