MoveFile Method (String, String, UIOption, UICancelOption)
Collapse the table of content
Expand the table of content

FileSystem.MoveFile Method (String, String, UIOption, UICancelOption)

Moves a file to a new location.

Namespace:  Microsoft.VisualBasic.FileIO
Assembly:  Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)

public static void MoveFile(
	string sourceFileName,
	string destinationFileName,
	UIOption showUI,
	UICancelOption onUserCancel


Type: System.String
Path of the file to be moved.
Type: System.String
Path of the directory into which the file should be moved.
Type: Microsoft.VisualBasic.FileIO.UIOption
Specifies whether to visually track the operation's progress. Default is UIOption.OnlyErrorDialogs.
Type: Microsoft.VisualBasic.FileIO.UICancelOption
Specifies whether or not an exception is thrown when the user cancels the operation. Default is UICancelOption.ThrowException.


The path is not valid for one of the following reasons: it is a zero-length string; it contains only white space; it contains invalid characters; or it is a device path (starts with \\.\); it ends with a trailing slash.


destinationFileName is Nothing or an empty string.


The source file is not valid or does not exist.


The destination file exists and overwrite is set to False.


The file is in use by another process, or an I/O error occurs.


onUserCancel is set to ThrowException, and either the user has cancelled the operation or an unspecified I/O error occurs.


The path exceeds the system-defined maximum length.


A file or directory name in the path contains a colon (:) or is in an invalid format.


The user lacks necessary permissions to view the path.

If the target structure does not exist, it is created.

The MoveFile method preserves ACEs (Access Control Entries) only when moving the file within the same volume. This includes inherited ACEs, which become direct ACEs when moved (direct ACEs take precedence over inherited ACEs). If a file is moved between volumes, ACEs will not be copied.

The following table lists examples of tasks involving the My.Computer.FileSystem.MoveFile method.

This example moves the file Test.txt from TestDir1 to TestDir2.

My.Computer.FileSystem.MoveFile("C:\TestDir1\test.txt", "C:\TestDir2\test.txt")

This example moves the file Test.txt from TestDir1 to TestDir2 and renames it Test2.txt.

My.Computer.FileSystem.MoveFile("C:\TestDir1\test.txt", "C:\TestDir2\test2.txt")

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

© 2016 Microsoft