FindFirstFileの"?"検索


こときち  2006-07-21 05:55:31  No: 62543

初めて質問致します。
今、FindFirstFileで"?"を使ったワイルドカード検索を行っております。
"C:\ABC\"フォルダに、ABC.LOGとABCD.LOGの2つのファイルが存在していて、
検索用の文字列として"AB??.LOG"としてFindFirstFileを実行すると、
実行結果でABC.LOGとABCD.LOGの2つが帰ってきてしまいます。
エクスプローラからこの検索文字列で検索した場合は、
ABCD.LOGしか一致しないのですが...
解決方法をご存知の方がいらっしゃいましたら、ご教授願います。

以上


瀬戸っぷ  2006-07-21 08:31:41  No: 62544

なにげに調べてみたら…
Win95ですがこんなの発見しました。
翻訳がおかしいみたいで一部ヘンになってますが。
http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B130860

で、
「Windows NT は、 TEMP.TXT と TEMPTEMP.TXT ファイルを正しく探します。」
という記述があるあたり、仕様なのではないかと。

とりあえずは絞れるので、そこから先は自前で追加判定されてはどうでしょうか?
ワイルドカードの"?"ならば、文字数で比較することで対処できそうですが…

# ちなみに、WinXPSp2のコマンドプロンプトでのdirコマンドでは
# 両方マッチ…でした。  md5.hとmd5c.cでdir md5??.?で。


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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