FindFirstFileによる複数拡張子の検索をするには?

解決


Yoo  2005-02-05 21:54:06  No: 119451

FindFirstFileを使って複数のファイルを検索するプログラムを作成していますが、

lngFindFileHandle = FindFirstFile(DirName & "\*.mpe", wfd)

これをやると、mpegなどもヒットしてきます。mpgのみヒットしたいのですが、どうしたらよいでしょうか?

Win2000
V6.0


Yoo  2005-02-05 21:55:18  No: 119452

>これをやると、mpegなどもヒットしてきます。mpgのみヒットしたいのですが、どうしたらよいでしょうか?

これをやると、mpegなどもヒットしてきます。mpeのみヒットしたいのですが、どうしたらよいでしょうか?

間違っていました。


ガッ  2005-02-05 22:27:46  No: 119453

ファイル名を全部列挙して、
列挙したのに対してLike演算子とかREとか使って選択すればいいんじゃないか?


Yoo  2005-02-06 01:39:24  No: 119454

>ファイル名を全部列挙して、
>列挙したのに対してLike演算子とかREとか使って選択すればいいんじゃないか?

ファイルが少なければ、いいのですが、多くなるとどうでしょうか?


ガッ  2005-02-06 04:12:55  No: 119455

( ゜д゜)ハッ!

> lngFindFileHandle = FindFirstFile(DirName & "\*.mpe", wfd)
"\*.mpe"→"\*.mpg"
…じゃないよな。

> ファイルが少なければ、いいのですが、多くなるとどうでしょうか?
全て列挙するのにどれくらい時間がかかるかは実験してみないとわからない。


魔界の仮面弁士  2005-02-06 09:53:22  No: 119456

> lngFindFileHandle = FindFirstFile(DirName & "\*.mpe", wfd)
> これをやると、mpegなどもヒットしてきます。mpeのみヒットしたいのですが、どうしたらよいでしょうか?

ヒット後に、そのファイルの名前を確認する事で対処してください。

通常、「test.mpeg」の『ショートファイル名(8 + 3文字の名前)』は、
「TEST~1.MPE」のような名前として作成されますので、先のコードの場合、
『拡張子の先頭がMPEで始まる名前』が、すべて検索対象になる仕様です。


Yoo  2005-02-06 19:08:21  No: 119457

ガッさま  
魔界の仮面弁士さま
ありがとうございます。

皆さんのご意見が、大変参考になりました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加