在 Visual Basic 中,可通过两种方式重命名文件。 可以使用 Visual Basic 运行时对象My.Computer.FileSystem
或 .NET 提供的对象System.IO.File
来重命名文件。
使用 .NET 重命名
对象 System.IO.File
不包含重命名文件的方法,而是使用 Move
该方法将文件“移动到同一位置”,但文件名不同。 此方法还可用于将文件移动到具有不同名称的不同位置,同时执行移动和重命名。
以下示例将文件夹中 My Documents
的文件从 TextFile.txt
重命名为 NewName.txt
。
Dim myDocsFolder As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments
Dim filePathSource = System.IO.Path.Combine(myDocsFolder, "TextFile.txt")
Dim filePathTarget = System.IO.Path.Combine(myDocsFolder, "NewName.txt")
System.IO.File.Move(filePathSource, filePathTarget)
使用 Visual Basic 运行时重命名
使用RenameFile
对象的My.Computer.FileSystem
方法,通过提供文件的完整路径和新文件名来重命名文件。 此方法不能用于将文件移动到其他目录。 若要了解如何移动文件,请参阅 如何:在 Visual Basic 中移动文件。
以下示例将文件夹中 My Documents
的文件从 TextFile.txt
重命名为 NewName.txt
。
Dim myDocsFolder As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments
Dim filePath = System.IO.Path.Combine(myDocsFolder, "TextFile.txt")
My.Computer.FileSystem.RenameFile(filePath, "NewName.txt")
Visual Studio 提供使用 My.Computer.FileSystem.RenameFile
的 IntelliSense 代码片段。 代码片段位于 文件系统中 - 处理驱动器、文件夹和文件。 有关详细信息,请参阅 代码片段。
可靠的编程
以下条件可能会导致异常:
- 路径对于以下原因之一无效:它是一个长度为零的字符串,它只包含空格,它包含无效字符,或者它是设备路径(以 \\.\) 开头(ArgumentException)。
newName
包含路径信息 (ArgumentException)。- 路径无效,因为它是
Nothing
(ArgumentNullException)。 newName
是Nothing
或空字符串 (ArgumentNullException)。- 源文件无效或不存在(FileNotFoundException)。
- 有一个现有的文件或目录,其名称在
newName
中指定(IOException)。 - 路径超过系统定义的最大长度(PathTooLongException)。
- 路径中的文件或目录名称包含冒号(:)或格式无效(NotSupportedException)。
- 用户缺少查看路径所需的权限(SecurityException)。
- 用户没有所需的权限(UnauthorizedAccessException)。