CLR: .Net / Mono / Boo / Otros CLR > C#
Tamaño De Una Carpeta Y Sus Hijas
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
[#] Página Siguiente
Ir a la versión completa