方法 : Visual Basic でファイルの名前を変更する

Visual Basic では、ファイルの名前を変更する方法が 2 つあります。 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 コード スニペットが用意されています。 このスニペットは、[ファイル システム - ドライブ、フォルダー、およびファイルの処理] にあります。 詳細については、「Code Snippets」を参照してください。

信頼性の高いプログラミング

次の条件では例外が発生する可能性があります。

  • パスが有効ではない。原因として、長さ 0 の文字列であるか、空白のみが含まれているか、無効な文字が含まれているか、デバイス パスである (先頭が \\.\ である) ことが考えられる (ArgumentException)。
  • newName にパス情報が含まれている (ArgumentException)。
  • パスが Nothing であるため無効である (ArgumentNullException)。
  • newNameNothing または空の文字列である (ArgumentNullException)。
  • ソース ファイルが無効であるか、存在しない (FileNotFoundException)。
  • newName で指定された名前のファイルまたはディレクトリが既に存在する (IOException)。
  • パスがシステムで定義されている最大長を超えている (PathTooLongException)。
  • パス内のファイル名またはディレクトリ名にコロン (:) が含まれているか、または形式が無効である (NotSupportedException)
  • ユーザーがパスを参照するのに必要なアクセス許可がない (SecurityException)
  • ユーザーに必要なアクセス許可がない (UnauthorizedAccessException)。

関連項目