Pregunta

Creo que vi una vez que era posible utilizar la funcionalidad de la función de búsqueda de Windows' (s) en el código. Que era posible buscar archivos mediante una consulta SQL (algo así como "seleccione el nombre de archivo del almacén de archivos en el directorio = 'c: \ somedir' y extensión de ( '.doc', 'txt.',) Y DateModified 'mí'. > = '2009-01-01 00:00:00' "

De todos modos, incluso si no hay una manera de hacerlo con una consulta, ¿hay alguna funcionalidad en la API de Windows o cualquier código simple para hacer exactamente este tipo de cosas?

Parece una cosa tan obvia para no ser una manera fácil de hacerlo.

Tengo una función que encuentra todos los archivos en un directorio (con subdirectorios), pero es básicamente tonto. No se puede buscar con comodines y no se puede buscar con otros criterios como la fecha más reciente que una fecha determinada.

Si es posible que no quiero para descargar las bibliotecas de shareware de 3 ª Parte de hacer esto. Estoy usando constructor de C ++ en Vista, y si no hay ninguna funcionalidad vista-sólo para esto, entonces eso está bien.

¿Fue útil?

Solución

En realidad, puede utilizar FindFirstFileEx () para aplicar sus criterios de búsqueda. Desafortunadamente, la mayoría de las veces se tienen que implementar esto por sí mismo .. No es demasiado duro ..

Básicamente se puede comprobar la WIN32_FIND_DATA estructura de criterios que desea buscar. Por ejemplo, si desea buscar sólo los archivos con una mayor fecha de creación de una fecha determinada, debería comprobar si el miembro de estructura WIN32_FIND_DATA ftCreationTime o ftLastWriteTime, dependiendo de sus necesidades ..

Otros consejos

Puede utilizar FindFirstFileEx () a buscar con comodines y atributos.

El código C se ha publicado miles de veces en Google Groups ya que de los 90 (Noticia: //comp.os.ms-windows.programmer.win32 y otros)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top