C ++でのワイルドカードおよび他の基準とサブフォルダを検索するためのWindows APIの方法はありますか?

StackOverflow https://stackoverflow.com/questions/513055

質問

私はコード内のWindowsの検索機能(複数可)の機能を使用することが可能であったことを一度見たと思います。それはのようなSQLクエリ(何かを使用してファイルを検索することが可能であることを「ファイルストアからファイル名を選択する場所ディレクトリ= 『C:\ somedir』と( 『.DOC』、 『TXT』、)とdatemodifiedで拡張子 『私』。 > = '2009-01-01夜12時00分00秒'」

とにかく、クエリでそれを行う方法がない場合でも、WindowsのAPIのいずれかの機能や事柄のまさにこのタイプを行うための任意の単純なコードはありますか?

それを行うための簡単な方法は存在していないため、

これは、このような明白なことだ。

私は(サブディレクトリを含む)ディレクトリ内のすべてのファイルを見つけた機能を持っているが、それは基本的にはダムです。これは、ワイルドカードで検索することができない、それは、そのような特定の日付より新しい日付などの他の基準に検索することはできません。

もし可能なら、私はこれを行うために、任意のサードパーティ製のシェアウェアのライブラリをダウンロードする必要はありません。私はVistaのC ++ Builderを使用していて、このための任意のVistaの専用機能があるならば、それは大丈夫です。

役に立ちましたか?

解決

実際には、あなたの検索条件を実装するためにFindFirstFileEx()を使用することができます。残念ながら、あなたはこれを自分で実装する必要がほとんどの時間は...それはあまりにも難しいことではありません..

基本的にあなたが WIN32_FIND_DATAする検索したい基準の構造。あなたが特定の日付よりも作成日大きいのファイルのみを検索したい場合WIN32_FIND_DATA構造体メンバftCreationTimeまたはftLastWriteTimeフィールド場合たとえば、あなたはあなたのニーズに応じて、チェックします..

他のヒント

あなたは FindFirstFileEx()に使用することができますワイルドカードや属性で検索します。

Cのコードでは、90年代からGoogleグループに何千回も掲載されています (ニュース://comp.os.ms-windows.programmer.win32など)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top