- - PR -
Directory.GetFilesメソッドを使ったファイル一覧の取得について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-04-11 18:44
初めて書き込みします。.NET初心者です。
ご存知の方がいらっしゃいましたら教えてください。 現在、.NETFramework1.1、VisualStudio2003(C#)で Windowsアプリの開発をしています。 Directory.GetFiles(String,String)メソッドを使用して 指定したフォルダ内の指定したパターンにマッチする ファイルの一覧を取得したいのですが、指定したパターン にマッチしないファイルまで取得できてしまいます。 以下のようなパターンで正しくマッチするファイルのみを 取得する方法があれば教えていただけないでしょうか? 取得したいファイルのパターン(searchPattern) (※指定フォルダについては、省略) ・"ABC????.txt"と指定した場合 string[] directories = Directory.GetFiles("検索フォルダ","ABC????.txt") 「ABC1234.txt」「ABC12345.txt」「ABC1234.txt2」 すべてが取得できてしまうが、「ABC1234.txt」のみを 取得したい。 ただし、これまで調べたところでは、拡張子(.txt)が 3桁の場合、拡張子が3桁以上のファイルも対象となって しまうようなので、「ABC1234.txt」「ABC1234.txt2」 が取得されてしまうのは、しょうがないと思いますが、 「ABC12345.txt」は対象外にしたいのです。 | ||||
|
投稿日時: 2005-04-11 18:59
私も同じ問題で困ったことがあります。
結局、この問題を回避できそうになかったので、 Directory.GetFiles(String,String)をDirectory.GetFiles(String)に書き換え、 パターンは自前で判定するようにしました。 | ||||
|
投稿日時: 2005-04-11 20:44
当環境で同コードを走らせて見ましたが結果は
(「ABC1234.txt」「ABC1234.txt2」「ABC12345.txt」とファイルがある場合) ・"ABC????.txt"と指定した場合 「ABC1234.txt」のみ取得 ・"ABC?????.txt"と指定した場合 すべて取得 となりました。 当方の環境では「?」の数の分だけ正確に取得できているようです。 おっしゃるとおり指定拡張子が「txt」では、 「txt2」でも取得するような動作を行うとヘルプに記載がありますので
とすればいけると思うんですが [ メッセージ編集済み 編集者: naoya 編集日時 2005-04-11 20:45 ] [ メッセージ編集済み 編集者: naoya 編集日時 2005-04-11 20:45 ] [ メッセージ編集済み 編集者: naoya 編集日時 2005-04-11 20:46 ] | ||||
|
投稿日時: 2005-05-07 21:24
たった今、その問題に当たっていた者です。
仰る通りの方法で出来ました。ありがとうございます。 今日は何てラッキーなんだ・・・。 お礼だけで申し訳ないのですが、どうしてもお礼を言いたかったのです。 本当に助かりました。ありがとうございます。 |
1