在 Visual Basic 中,有兩種方式可以重新命名檔案。 您可以使用 Visual Basic 執行時間物件或 .NET 提供的 My.Computer.FileSystem
物件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)。