方法 : Visual Basic でファイルのコピーを同じディレクトリに作成する
更新 : 2007 年 11 月
My.Computer.FileSystem.CopyFile メソッドを使用すると、ファイルをコピーできます。そのパラメータを使用して、既存のファイルを上書きしたり、ファイルの名前を変更したり、操作の進行状況を表示したり、ユーザーが操作をキャンセルできるようにしたりできます。
ファイルのコピーを同じフォルダに作成するには
CopyFile メソッドを使用します。その際、対象のファイルと場所を指定します。次の例では、test.txt のコピーを test2.txt という名前で作成します。
My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt", _ "C:\TestFolder\test2.txt", Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, FileIO.UICancelOption.DoNothing)
ファイルのコピーを同じフォルダに作成し、既存のファイルを上書きするには
CopyFile メソッドを使用します。その際、対象のファイルと場所を指定し、overwrite を True に設定します。次の例では、test.txt のコピーを test2.txt という名前で作成し、同じ名前のファイルが既に存在する場合は上書きします。
My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt", _ "C:\TestFolder\test2.txt", True)
堅牢性の高いプログラム
次の条件を満たす場合は、例外がスローされる可能性があります。
パスが無効である。1) 長さが 0 の文字列である、2) 空白だけが含まれている、3) 無効な文字が含まれている、4) デバイス パスである (\\.\ で開始されている)、のいずれかの理由が考えられる (ArgumentException)。
システムが絶対パスを取得できなかった (ArgumentException)。
パスが Nothing であるため、有効でない (ArgumentNullException)。
ソース ファイルが有効でないか、または存在しない (FileNotFoundException)。
パスを組み合わせると既存のディレクトリと同じになる (IOException)。
移動先にファイルが既に存在し、overwrite が False に設定されている (IOException)。
ユーザーがファイルにアクセスするのに必要なアクセス許可がない (IOException)。
移動先フォルダの同名のファイルが使用中である (IOException).
パス内のファイル名またはフォルダ名にコロン (:) が含まれているか、または形式が無効である (NotSupportedException)。
ShowUI が True に、onUserCancel が ThrowException に、それぞれ設定されている状況で、ユーザーが操作をキャンセルした (OperationCanceledException)。
ShowUI が True に、onUserCancel が ThrowException に、それぞれ設定されている状況で、未指定の I/O エラーが発生した (OperationCanceledException)。
パスがシステムで定義されている最大長を超えている (PathTooLongException)。
ユーザーに必要なアクセス許可がない (UnauthorizedAccessException)。
ユーザーがパスを参照するのに必要なアクセス許可がない (SecurityException)。
参照
処理手順
方法 : Visual Basic で特定のパターンを持つファイルをディレクトリにコピーする
方法 : Visual Basic でファイルのコピーを別のディレクトリに作成する
方法 : Visual Basic でディレクトリを別のディレクトリにコピーする
方法 : Visual Basic でファイルの名前を変更する