方法 : Visual Basic でファイルのコピーを同じディレクトリに作成する

ファイルをコピーするには、My.Computer.FileSystem.CopyFile メソッドを使用します。 このパラメーターでは、既存のファイルの上書き、ファイルの名前変更、操作の進行状況の表示、ユーザーによる操作のキャンセルが可能になります。

ファイルのコピーを同じフォルダーに作成するには

  • ターゲット ファイルと場所を指定し、CopyFile メソッドを使用します。 次の例では、test2.txt という test.txt のコピーを作成します。

    My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt",
    "C:\TestFolder\test2.txt", Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, FileIO.UICancelOption.DoNothing)
    

同じフォルダーにファイルのコピーを、既存のファイルを上書きして作成するには

  • ターゲット ファイルと場所を指定し、overwriteTrue に設定して、CopyFile メソッドを使用します。 次の例では、test2.txt という test.txt のコピーを、既存のファイルをその名前で上書きして作成します。

    My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt",
    "C:\TestFolder\test2.txt", True)
    

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

次の条件を満たす場合は、例外がスローされる可能性があります。

  • パスが有効ではありません。原因として、長さが 0 の文字列であるか、空白のみが含まれているか、無効な文字が含まれているか、デバイス パスである (先頭が \\.\ である) ことが考えられます (ArgumentException)。

  • システムが絶対パスを取得できなかった (ArgumentException)。

  • パスが Nothing であるため、有効でない (ArgumentNullException)

  • ソース ファイルが正しくない、または存在しない (FileNotFoundException)。

  • 結合したパスが、既存のディレクトリを指している (IOException)。

  • リンク先ファイルが存在し、overwriteFalse に設定されている (IOException)。

  • ファイルにアクセスする十分なアクセス許可がユーザーにない (IOException)。

  • 同じ名前がターゲット フォルダー内のファイルで使用されている (IOException)。

  • パス内のファイル名またはフォルダー名にコロン (:) が含まれている、または形式が無効である (NotSupportedException)。

  • ShowUITrue に設定され、onUserCancelThrowExceptionに設定され、ユーザーが操作をキャンセルしている (OperationCanceledException)。

  • ShowUITrue に設定され、onUserCancelThrowException に設定され、未指定の I/O エラーが発生する (OperationCanceledException)。

  • パスがシステムで定義されている最大長を超えている (PathTooLongException)。

  • ユーザーに必要なアクセス許可がない (UnauthorizedAccessException)。

  • ユーザーがパスを参照するのに必要なアクセス許可がない (SecurityException)

関連項目