Main Content

movefile

Move or rename file or folder

Description

movefile source moves the file or folder source to the current folder. movefile does not preserve the archive attribute of source.

example

movefile source destination moves source to the file or folder destination. If source and destination are in the same location, then movefile renames source to destination. To rename a file or folder when moving it, make destination a different name from source and specify only one file or folder for source.

If source is a folder, then destination must be a folder. If source is a folder or is capable of specifying multiple files and destination does not exist, then movefile creates destination.

example

movefile source destination f performs the move, even when destination is not writable. The state of the read/write attribute for destination does not change. This syntax overwrites read-only files.

example

movefile(source,destination,MoveLinkBehavior=slbehavior) specifies whether to move a symbolic link or its target. (since R2024b)

status = movefile(___) moves the specified file or folder and returns a status of 1 if the operation is successful. Otherwise, movefile returns 0. You can use this syntax with any of the input argument combinations in the previous syntaxes.

example

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

example

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

example

Examples

collapse all

Move files and folders to the current folder by omitting the destination input.

Create two folders: the first, myfiles, containing the file myfile1.m, and the second, myotherfiles, containing the file myfile2.m.

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

Move myfile1.m to the current folder. Since a destination is not specified, MATLAB® assumes the destination is the current folder.

movefile myfiles/myfile1.m

Set the current folder to myfiles. Move myotherfiles and its contents to the current folder.

cd myfiles
movefile ../myotherfiles

Move files and subfolders whose names begin with my from the current folder to the folder newFolder, where newFolder previously does not exist.

movefile my* newFolder

Create the folder myoldfolder, and then rename it to mynewfolder.

mkdir myoldfolder
movefile myoldfolder mynewfolder

Move the file myfile1.m from the current folder to the read-only folder restricted.

Create the read-only folder restricted.

mkdir restricted
fileattrib restricted -w

Move the file myfile1.m. A status of 0 shows the copy was unsuccessful.

status = movefile('myfile1.m','restricted');
status
status = logical
   0

Move the file myfile1.m using the 'f' option to override the read-only status of the destination folder. A status of 1 and an empty message and messageID confirm the copy was successful.

[status,message,messageId] = movefile('myfile1.m','restricted','f');
status
status = logical
   1

message
message =

  0x0 empty char array
messageId
messageId =

  0x0 empty char array

Input Arguments

collapse all

File or folder to move, specified as a character vector or string scalar. To move multiple files or folders, use wildcards (*). When moving multiple files or folders, movefile moves only the files and folders that can be moved.

source can be an absolute or relative path when moving local files or folders. However, to move files and folders at a remote location, source must contain a full path specified as a uniform resource locator (URL). For more information, see Work with Remote Data.

Note

If source is a string, enclose all the inputs in parentheses. For example, movefile("myfile.m","newfolder").

File or folder destination, specified as a character vector or string scalar. destination cannot include wildcards (*).

If destination is local, it can be specified as an absolute or relative path. If destination is remote, it must contain a full path specified as a URL. For more information, see Work with Remote Data.

Note

If destination is a string, enclose all the inputs in parentheses. For example, movefile("myfile.m","newfolder").

Since R2024b

Symbolic link behavior, specified as one of these values:

  • "preserve" – Move the symbolic link and preserve it as a symbolic link at the destination. The target of the symbolic link remains the same.

  • "resolve" – Move the target of the symbolic link.

Output Arguments

collapse all

Move status, indicating if the attempt to move the file or folder is successful, returned as 0 or 1. If the attempt is successful, the value of status is 1. Otherwise, the value is 0.

Data Types: logical

Error message, returned 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, returned as a character vector. If an error or warning occurs, msgID contains the message identifier of the error or warning. Otherwise, msgID is empty, ''.

Extended Capabilities

Thread-Based Environment
Run code in the background using MATLAB® backgroundPool or accelerate code with Parallel Computing Toolbox™ ThreadPool.

Version History

Introduced before R2006a

expand all