GetFiles メソッドは、ファイルのパス名を表す文字列の読み取り専用のコレクションを返します。 wildCards パラメーターを使用して、特定のパターンを指定できます。
一致するファイルが見つからなかった場合は、空のコレクションが戻ります。
CopyFile メソッドを使用して、ファイルをディレクトリにコピーできます。
特定のパターンを持つファイルをディレクトリにコピーするには
GetFiles メソッドを使用してファイルのリストを取得します。 この例では、指定のディレクトリにある、すべての .rtf ファイルを取得します。
For Each foundFile As String In My.Computer.FileSystem.GetFiles( My.Computer.FileSystem.SpecialDirectories.MyDocuments, Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
CopyFile メソッドを使用してファイルをコピーします。 この例では、testdirectory という名前のディレクトリにファイルをコピーします。
My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & My.Computer.FileSystem.GetName(foundFile))
For ステートネントを Next ステートメントで閉じます。
Next
使用例
次の例は、上記のスニペットを完全な形で示したものです。指定したディレクトリのすべての .rtf ファイルを testdirectory という名前のディレクトリにコピーします。
For Each foundFile As String In My.Computer.FileSystem.GetFiles(
My.Computer.FileSystem.SpecialDirectories.MyDocuments,
Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & foundFile)
Next
セキュリティ
次の条件を満たす場合は、例外が発生する可能性があります。
パスは次の理由の 1 つが無効です。長さ 0 の文字列は、空白だけが含まれている、無効な文字が含まれていますまたはそれがデバイス パスである (始まる \\ です。 \) (ArgumentException).
パスが Nothing であるため、有効でない (ArgumentNullException)。
ディレクトリが存在しない (DirectoryNotFoundException)。
ディレクトリが既存のファイルを指している (IOException)。
パスがシステムで定義されている最大長を超えている (PathTooLongException)。
パス内のファイル名またはディレクトリ名にコロン (:) が含まれているか、または形式が無効である (NotSupportedException)。
ユーザーがパスを参照するのに必要なアクセス許可がない (SecurityException)。 ユーザーに必要なアクセス許可がない (UnauthorizedAccessException)。
参照
処理手順
方法: 特定のパターンに一致するサブディレクトリを検索する (Visual Basic)
トラブルシューティング: テキスト ファイルの読み取りと書き込み (Visual Basic)
方法 : Visual Basic でディレクトリにあるファイルのコレクションを取得する