方法 : Visual Basic でディレクトリを移動する

更新 : 2007 年 11 月

My.Computer.FileSystem.MoveDirectory メソッドを使用してディレクトリを移動できます。

存在しないディレクトリの中に移動しようとした場合は、移動先のディレクトリが作成されます。

overwrite が True で、移動先のディレクトリが既に存在する場合は、移動先のディレクトリ内の既存のファイルに新しいファイルが追加されます。移動元と移動先の両方のディレクトリに同名のファイルが含まれている場合は、移動先のファイルは上書きされます。

ディレクトリを移動するには

  • MoveDirectory メソッドを使用して、ディレクトリを移動します。その際、移動元と移動先のディレクトリを指定します。次の例は、Dir1 を Dir2 の中に移動します。

    My.Computer.FileSystem.MoveDirectory("C:\Dir1", "C:\Dir2")
    

ディレクトリを移動し、既存のディレクトリを上書きするには

  • MoveDirectory メソッドを使用して、ディレクトリを移動します。その際、移動元と移動先のディレクトリを指定します。次の例は、Dir1 を Dir2 の中に移動します。その際、移動先のディレクトリが既に存在する場合は、既存のファイルに移動元のファイルが追加されます。

    My.Computer.FileSystem.MoveDirectory("C:\Dir1", "C:\Dir2", True)
    

堅牢性の高いプログラム

次の条件を満たす場合は、例外が発生する可能性があります。

  • パスが無効である。1) 長さが 0 の文字列である、2) 空白だけが含まれている、3) 無効な文字が含まれている、4) デバイス パスである (\\.\ で開始されている)、のいずれかの理由が考えられる (ArgumentException)。

  • パスが Nothing である (ArgumentNullException)。

  • 移動元が無効である (DirectoryNotFoundException)。

  • 移動元がルート ディレクトリである (IOException)。

  • パスを組み合わせると既存のファイルと同じになる (IOException)。

  • 移動元と移動先のパスが同じである (IOException)。

  • ファイルが既に存在し、overwrite が False に設定されている (IOException)。

  • ファイルのサブディレクトリをコピーできない (IOException)。

  • 操作が巡回している (InvalidOperationException)。

  • パスの中のファイル名またはディレクトリ名にコロン (:) が含まれている (NotSupportedException)。

  • onUserCancel が UICancelOption.ThrowException に設定されており、ユーザーが操作をキャンセルした (OperationCanceledException)。

  • onUserCancel が UICancelOption.ThrowException に設定されており、操作を完了できなかった (OperationCanceledException)。

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

  • onUserCancel が UICancelOption.ThrowException に設定されており、必要なアクセス許可がユーザーにない (SecurityException)。

  • ファイルの更新に必要なアクセス許可がユーザーにない (UnauthorizedAccessException)。

参照

処理手順

方法 : Visual Basic でディレクトリの内容を移動する

方法 : Visual Basic でディレクトリを別のディレクトリにコピーする

方法 : Visual Basic でディレクトリの名前を変更する

方法 : Visual Basic でファイル パスを解析する

その他の技術情報

Visual Basic でのファイルおよびディレクトリの作成、削除、および移動