FileSystem.MoveFile Method

Definition

Moves a file to a new location.

Overloads

MoveFile(String, String)

Moves a file to a new location.

MoveFile(String, String, UIOption)

Moves a file to a new location.

MoveFile(String, String, Boolean)

Moves a file to a new location.

MoveFile(String, String, UIOption, UICancelOption)

Moves a file to a new location.

MoveFile(String, String)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Moves a file to a new location.

C#
public static void MoveFile(string sourceFileName, string destinationFileName);

Parameters

sourceFileName
String

Path of the file to be moved.

destinationFileName
String

Path of the directory into which the file should be moved.

Exceptions

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 file is in use by another process, or an 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.

Examples

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

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

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

Remarks

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 an example of a task involving the My.Computer.FileSystem.MoveFile method.

Applies to

.NET 10 and other versions
Product Versions
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

MoveFile(String, String, UIOption)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Moves a file to a new location.

C#
public static void MoveFile(string sourceFileName, string destinationFileName, Microsoft.VisualBasic.FileIO.UIOption showUI);

Parameters

sourceFileName
String

Path of the file to be moved.

destinationFileName
String

Path of the directory into which the file should be moved.

showUI
UIOption

Specifies whether to visually track the operation's progress. Default is UIOption.OnlyErrorDialogs.

Exceptions

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 file is in use by another process, or an 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.

Examples

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

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

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

Remarks

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 an example of a task involving the My.Computer.FileSystem.MoveFile method.

See also

Applies to

.NET 10 and other versions
Product Versions
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

MoveFile(String, String, Boolean)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Moves a file to a new location.

C#
public static void MoveFile(string sourceFileName, string destinationFileName, bool overwrite);

Parameters

sourceFileName
String

Path of the file to be moved.

destinationFileName
String

Path of the directory into which the file should be moved.

overwrite
Boolean

True to overwrite existing files; otherwise False. Default is False.

Exceptions

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 file is in use by another process, or an 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.

Examples

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

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

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

Remarks

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 an example of a task involving the My.Computer.FileSystem.MoveFile method.

Applies to

.NET 10 and other versions
Product Versions
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

MoveFile(String, String, UIOption, UICancelOption)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Moves a file to a new location.

C#
public static void MoveFile(string sourceFileName, string destinationFileName, Microsoft.VisualBasic.FileIO.UIOption showUI, Microsoft.VisualBasic.FileIO.UICancelOption onUserCancel);

Parameters

sourceFileName
String

Path of the file to be moved.

destinationFileName
String

Path of the directory into which the file should be moved.

showUI
UIOption

Specifies whether to visually track the operation's progress. Default is UIOption.OnlyErrorDialogs.

onUserCancel
UICancelOption

Specifies whether or not an exception is thrown when the user cancels the operation. Default is UICancelOption.ThrowException.

Exceptions

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

Examples

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

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

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

Remarks

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 an example of a task involving the My.Computer.FileSystem.MoveFile method.

See also

Applies to

.NET 10 and other versions
Product Versions
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1