ruta obtener nombre mostrar manipular directorios directorio carpeta buscar archivos archivo c# directory file-management

nombre - obtener ruta de carpeta c#



Búsqueda de directorios de toneladas de archivos? (5)

Definitivamente dividirlos. Dicho esto, manténgase lo más lejos posible del Servicio de Index Server.

Estoy usando MSVE, y tengo mis propios mosaicos que estoy mostrando en capas en la parte superior. El problema es que hay muchos y están en un servidor de red. En ciertos directorios, hay algo del orden de más de 30,000 archivos. Inicialmente llamé a Directory.GetFiles, pero una vez que comencé a probar en un entorno pseudo-real, se agotó el tiempo de espera.

¿Cuál es la mejor forma de enumerar programáticamente e iterar a través de estos muchos archivos?

Editar: Mi compañero de trabajo sugirió usar el servicio de indexación MS. ¿Alguien ha probado este enfoque y (cómo) ha funcionado?


Ninguna. .NET se basa en llamadas subyacentes de la API de Windows que realmente odian esa cantidad de archivos.

Como dice Ronnie: divídalos.


Puedes usar DOS?

DIR /s/b > Files.txt


También puede consultar indexar los archivos usted mismo o obtener una aplicación de terceros como google desktop o copernic para hacerlo y luego interactuar con su índice. Sé que Copernic tiene una API que puede usar para buscar cualquier archivo en su índice y también admite la asignación de unidades de red.


Trabajé en un sistema SAN en el pasado con grabaciones de audio de telefonía que tenían problemas con el número de archivos en una sola carpeta; ese sistema se volvió inutilizable en cerca de 5,000 (en Windows 2000 Advanced Server con una aplicación en C # .Net 1.1) - la única solución sensata que se nos ocurrió fue cambiar la estructura de la carpeta para que hubiera una cantidad más razonable de archivos. ¡Curiosamente, Explorer también se desconectaría!

La convención que se nos ocurrió fue una estructura que rompió la estructura en años, meses y días, pero eso dependerá de su sistema y de si puede controlar la estructura del directorio ...