CLR: .Net / Mono / Boo / Otros CLR > C#

 Tamaño De Una Carpeta Y Sus Hijas

(1/2) > >>

shine:
Hola a todos.

Estoy haciendo una palicación y necesito conocer el tamaño y el num. de archivos que tiene una carpeta.

Esto parece facil, el problema que me encuentro es que DirectoryInfo solo da la lista de archivos y de directorios hijos.

Así que solo se me ocurre usar recursividad para conoer el tamaño total de la carpeta.

No conozco bien la recursividad, y no se bien como se puede hacer.

¿ alguna idea ? Gracias

JuanK:
haste una funcion que halle el tamaño de una carpeta que le hayas pasado como parametro , luego hayas el tamaño de sumar los archivos dentro de una carpeta y luego colocas los nombres de los directorios en un array.

Cuando ya haya sumado los tam de los archivos entonces llamas otra vez tu pripia funcion ( desde si misma) , es decir recorrees el array con los nombres de las carpetass y por cada iteracion llamas tu propia funcion pasandole el nomnbre dla carptea...

ejemplo:


--- Código: Text ---public long function obtenerTamano( string nombrecarpeta){  archivos= carpeta.obtenerarchivos();  foreach (archivo a in archivos)  {     tamArchivos+= a;  }    foreach( carpeta a in carpetas)  {      tamanoCarpetas+= obtenerTamano(a.nombre);  }  return tamanoCarpetas  + tamArchivos;} 

shine:
Gracias, va de lujo.

Tengo otro problema: En un textBox escribo el nombre de la carpeta, con *una* contrabarra de directorio "\" y al guardarla en un campo de base de datos se elimina.
Para que se guarde tengo que escribirla dos veces.

¿ como puedo resolverlo para no tener que escribir dos veces la contrabarra ?

Gracias de nuevo.

JuanK:
@"\hola\"

shine:
no me funciona mira como lo he aplicado:


--- Código: Text ---string s="Insert into carpetas (carpeta,notificacion,max_tamano,max_archivo) values (";            s +="'"+@carpeta.Text+"',";      s +="'"+notificacion.Text+"',";      s +="'"+max_tamano.Text+"',";      s +="'"+max_archivo.Text+"')"; 
tiene el operador, pero sigue haciendo igual que antes.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa