こんにちは。
System.IO.Directory.GetFilesで、指定したディレクトリ以下のファイルを抽出したいと思っています。
例えば拡張子が".txt"のものを抽出する場合は、引数searchPatternで"*.txt"とすればよいのですが、
"*.txt"のものと"*.log"のものを一度に抽出することは可能でしょうか?
もしかしたら、それぞれの拡張子でGetFilesを行い、それぞれの結果を結合するという方法しかないのでしょうか?
ご存知の方がいらっしゃいましたらお教えください。
なお、使用バージョンはVB2008です。
GetFiles()で複数指定できるのはなさそう.
なので正規表現クラスなどを使って代用するのがいいかも.
// C#だけど.
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text.RegularExpressions;
Regex regex = new Regex(@".*\.txt|.*\.log");
IEnumerable<string> p = from file in Directory.GetFiles(@"c:\windows\") where regex.IsMatch(file) select file;
foreach (string matched in p) {
Console.WriteLine(matched);
}
ガッさん、ありがとうございました。
なるほど、正規表現を使うという方法もあるのですね。
あると思います!
とりあえず、解決ということで、クローズさせて頂きます。
ツイート | ![]() |