# How to: Create a Copy of a File in a Different Directory in Visual Basic

The My.Computer.FileSystem.CopyFile method allows you to copy files. Its parameters provide the ability to overwrite existing files, rename the file, show the progress of the operation, and allow the user to cancel the operation.

### To copy a text file to another folder

• Use the CopyFile method to copy a file, specifying a source file and the target directory. The overwrite parameter allows you to specify whether or not to overwrite existing files. The following code examples demonstrate how to use CopyFile.

' Copy the file to a new location without overwriting existing file.
My.Computer.FileSystem.CopyFile(
"C:\UserFiles\TestFiles\testFile.txt",
"C:\UserFiles\TestFiles2\testFile.txt")

' Copy the file to a new folder, overwriting existing file.
My.Computer.FileSystem.CopyFile(
"C:\UserFiles\TestFiles\testFile.txt",
"C:\UserFiles\TestFiles2\testFile.txt",
Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)

' Copy the file to a new folder and rename it.
My.Computer.FileSystem.CopyFile(
"C:\UserFiles\TestFiles\testFile.txt",
"C:\UserFiles\TestFiles2\NewFile.txt",
Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)


## Robust Programming

The following conditions may cause an exception to be thrown:

• 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 \\.\) (ArgumentException).

• The system could not retrieve the absolute path (ArgumentException).

• The path is not valid because it is Nothing (ArgumentNullException).

• The source file is not valid or does not exist (FileNotFoundException).

• The combined path points to an existing directory (IOException).

• The destination file exists and overwrite is set to False (IOException).

• The user does not have sufficient permissions to access the file (IOException).

• A file in the target folder with the same name is in use (IOException).

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

• ShowUI is set to True, onUserCancel is set to ThrowException, and the user has cancelled the operation (OperationCanceledException).

• ShowUI is set to True, onUserCancel is set to ThrowException, and an unspecified I/O error occurs (OperationCanceledException).

• The path exceeds the system-defined maximum length (PathTooLongException).

• The user does not have required permission (UnauthorizedAccessException).

• The user lacks necessary permissions to view the path (SecurityException).