This documentation is archived and is not being maintained.

Rename Function

Renames a disk file or directory.

The My feature gives you greater productivity and performance in file I/O operations than Rename. For more information, see My.Computer.FileSystem Object.

Public Sub Rename( _
   ByVal OldPath As String, _
   ByVal NewPath As String _


Required. String expression that specifies the existing file name and location. OldPath may include the directory, and drive, of the file.


Required. String expression that specifies the new file name and location. NewPath may include directory and drive of the destination location. The file name specified by NewPath cannot already exist.

Exception type

Error number




Path is invalid.



OldPath file does not exist.



NewPath file already exists.



Access is invalid.



Cannot rename to different device.

See the "Error number" column if you are upgrading Visual Basic 6.0 applications that use unstructured error handling. (You can compare the error number against the Number Property (Err Object).) However, when possible, you should consider replacing such error control with Structured Exception Handling Overview for Visual Basic.

The Rename function renames a file and moves it to a different directory, if necessary. The Rename function can move a file across drives, but it can only rename an existing directory when both NewPath and OldPath are located on the same drive. Rename cannot create a new file or directory.

Using the Rename function on an open file produces an error. You must close an open file before renaming it. Rename arguments cannot include multiple-character (*) and single-character (?) wildcards.

Security noteSecurity Note:

When using Rename to copy a file from an unprotected location to a protected location, the file retains the less restricted rights. Check to make sure you are not introducing a possible security risk.

This example uses the Rename function to rename a file. For purposes of this example, assume that the directories that are specified already exist.

Dim OldName, NewName As String
OldName = "OLDFILE" 
' Define file names.
NewName = "NEWFILE" 
' Rename file.
Rename(OldName, NewName)

' Move and rename file.
Rename(OldName, NewName)

This function is not supported.

Namespace: Microsoft.VisualBasic

Module: FileSystem

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)