方法 : Visual Basic でファイルのコレクションを移動する

更新 : 2007 年 11 月

My.Computer.FileSystem.MoveFile メソッドを使用すると、ディレクトリ間でファイルを移動できます。

移動先が存在しない場合は作成されます。

あるディレクトリから別のディレクトリにファイルのコレクションを移動するには

  • ファイルのコレクションを定義し、MoveFile メソッドを呼び出します。この例では、MyDocuments ディレクトリのすべてのファイルを StorageDir フォルダに移動します。

    For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
        My.Computer.FileSystem.SpecialDirectories.MyDocuments, _
        FileIO.SearchOption.SearchAllSubDirectories, "*.*")
    
        Dim foundFileInfo As New System.IO.FileInfo(foundFile)
        My.Computer.FileSystem.MoveFile(foundFile, "C:\StorageDir\" & foundFileInfo.Name)
    Next
    

堅牢性の高いプログラム

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

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

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

  • ソース ファイルが有効でないか、または存在しない (FileNotFoundException)。

  • パスを組み合わせると既存のディレクトリと同じになる、移動先のファイルが既に存在し overwrite が False に設定されている、移動先ディレクトリの同名ファイルが使用中である、またはユーザーがファイルにアクセスするのに必要なアクセス許可がない (IOException)。

  • パス内のファイル名またはディレクトリ名にコロン (:) が含まれているか、または形式が無効である (NotSupportedException)。

  • showUI が True に設定され、onUserCancelOption が ThrowException に設定されている状態で、ユーザーが操作をキャンセルしたか、または未指定の I/O エラーが発生した (OperationCanceledException)。

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

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

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

参照

処理手順

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

方法 : Visual Basic でファイルを移動する

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

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

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

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

参照

My.Computer.FileSystem.MoveFile メソッド

My.Computer.FileSystem.GetFiles メソッド

その他の技術情報

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