Recorrer directorios y al detectar archivos tratarlos...

08/02/2004 - 13:12 por Luis | Informe spam
Hola que tal,

quería hacer una pregunta, tengo una carpeta que dentro de ella hay cerca de
100 carpetas más y unos 400 archivos HTML, estos datos mantienen una
estructura fija (es para un programa que todo lo que genera lo muestra en
HTML) entonces como me niego a meterlo a mano, estaba pensando en hacer un
recorrido por los directorios (se como listarlos e ir entrando a ellos y
demás) y al detectar un fichero HTML tratarlo (obtener los datos que me
interesan).

Bien, se como listar los directorios, acceder a uno y demás, el problema es:

- ¿Como puedo hacer para "guardar" en una tabla el directorio en el que he
estado? el problema es que los directorios NO son fijos, quiero decir que en
la carpeta A puede haber 2 directorios y dentro de estos otros 2 en cada uno
y en uno de ellos otro, y dentro de cada carpeta puede o no puede exisitir
algun archivo. Y yo necesito guardar el nombre de la carpeta sobre todo para
saber en cual he estado.
Había pensando en la alternativa de irlas eliminando, pero aún así me queda
la duda de cuando esté en alguna carpeta, dentro de alguna dentro de
alguna... vamos 3 o 4 niveles por encima ir recorriendo hacia atrás e ir
eliminando.

- Otra pregunta, en los HTMLS la estructura es igual, entonces ¿como puedo
obtener "determinada" sección? mirando en el MSDN entoncontré la orden...
Regex.Match

Para obtener expresiones regulares inmutables, y por ahora las primeras
pruebas van por allí, pero ¿es la mejor orden? yo necesitaría atrapar, por
ejemplo
Del primer <(determinado tag)> hasta el tag, </(otro tag cerrado)> NO SON
XMLs, son HTMLs normales, (lo digo porque no puedo trabajar con los nodos
(como se´ria lo IDONEO...)

Un saludete y a a ver si alguien mepuede tirar alguna mano... :) sobre todo
para el recorrido de los directorios :)
 

Leer las respuestas

#1 Carla
08/02/2004 - 18:21 | Informe spam
hola luis
no se si habre entendido tu problema
quieres recorrer una carpeta y todas sus subcarpetas..
usa DirectoryInfo(hay una clase parecida-directory- que tiene metodos
estaticos, pero para un uso intensivo esta es mas eficiente).Con su metodo
Getdirectories recuperaras todos los directorios de esa carpeta, asi que si
esta a su vez tiene mas carpetas tendras que hacer un bucle.una vez llegues
a alguna que contiene ficheros usa getfiles, que te trae todos los nombres
de los archivos en una matriz de fileInfo().Recorre este array y recupera la
propiedad directory o tambien fullname, la que mejor te vaya.este es un
ejemplo tipico, pero es facil que estas clases tengan metodos para hacer
esto mas rapido.

Un saludo

"Luis" escribió en el mensaje
news:
Hola que tal,

quería hacer una pregunta, tengo una carpeta que dentro de ella hay cerca


de
100 carpetas más y unos 400 archivos HTML, estos datos mantienen una
estructura fija (es para un programa que todo lo que genera lo muestra en
HTML) entonces como me niego a meterlo a mano, estaba pensando en hacer un
recorrido por los directorios (se como listarlos e ir entrando a ellos y
demás) y al detectar un fichero HTML tratarlo (obtener los datos que me
interesan).

Bien, se como listar los directorios, acceder a uno y demás, el problema


es:

- ¿Como puedo hacer para "guardar" en una tabla el directorio en el que


he
estado? el problema es que los directorios NO son fijos, quiero decir que


en
la carpeta A puede haber 2 directorios y dentro de estos otros 2 en cada


uno
y en uno de ellos otro, y dentro de cada carpeta puede o no puede exisitir
algun archivo. Y yo necesito guardar el nombre de la carpeta sobre todo


para
saber en cual he estado.
Había pensando en la alternativa de irlas eliminando, pero aún así me


queda
la duda de cuando esté en alguna carpeta, dentro de alguna dentro de
alguna... vamos 3 o 4 niveles por encima ir recorriendo hacia atrás e ir
eliminando.

- Otra pregunta, en los HTMLS la estructura es igual, entonces ¿como puedo
obtener "determinada" sección? mirando en el MSDN entoncontré la orden...
Regex.Match

Para obtener expresiones regulares inmutables, y por ahora las primeras
pruebas van por allí, pero ¿es la mejor orden? yo necesitaría atrapar, por
ejemplo
Del primer <(determinado tag)> hasta el tag, </(otro tag cerrado)> NO SON
XMLs, son HTMLs normales, (lo digo porque no puedo trabajar con los nodos
(como se´ria lo IDONEO...)

Un saludete y a a ver si alguien mepuede tirar alguna mano... :) sobre


todo
para el recorrido de los directorios :)




Preguntas similares