如何:在 Visual Basic 中重命名文件
在 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 运行时重命名
使用 My.Computer.FileSystem
对象的 RenameFile
方法通过提供文件的完整路径和新文件名来重命名文件。 此方法不能用于将文件移动到其他目录。 若要了解如何移动文件,请参阅操作说明:在 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)。