Pergunta

Eu acho que vi uma vez que era possível usar a funcionalidade de Windows Search recurso (s) no código. Isso foi possível procurar arquivos usando uma consulta SQL (algo como "select nome de arquivo filestore onde directory = 'c: \ somedir' 'eu' e extensão em ( '.doc', 'txt',) e DateModified > = '2009-01-01 00:00:00' "

De qualquer forma, mesmo se não há uma maneira de fazer isso com uma consulta, há alguma funcionalidade na API do Windows ou qualquer código simples para fazer exatamente esse tipo de coisa?

Parece uma coisa tão óbvia para não haver uma maneira fácil de fazê-lo.

Eu tenho uma função que localiza todos os arquivos em um dir (com subdiretórios) mas é basicamente estúpido. Ele não pode pesquisar com curingas e não pode pesquisar com outros critérios, como data mais recente do que uma determinada data.

Se possível, eu não quero fazer download de qualquer 3 bibliotecas partido shareware para fazer isso. Estou usando construtor de C ++ em vista, e se houver qualquer funcionalidade só de vista para este, então isso é ok.

Foi útil?

Solução

Na verdade, você pode usar FindFirstFileEx () para implementar os seus critérios de pesquisa. Infelizmente, na maioria das vezes você tem que implementar esse mesmo .. Não é muito difícil ..

Basicamente, você pode verificar o WIN32_FIND_DATA estrutura para os critérios que você deseja procurar. Por exemplo, se você quisesse encontrar somente arquivos com uma maior data de criação de uma determinada data, você iria verificar se o membro da estrutura WIN32_FIND_DATA ftCreationTime ou ftLastWriteTime, dependendo de suas necessidades ..

Outras dicas

Você pode usar FindFirstFileEx () de pesquisa com curingas e atributos.

O código C foi postado milhares de vezes no Google Groups desde 90 (Notícia: //comp.os.ms-windows.programmer.win32 e outros)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top