Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // OrtizOL - xCSw - http://ortizol.blogspot.com
- using System;
- using System.IO;
- namespace Receta.CSharp.R0504
- {
- public class TamanioDirectorio
- {
- public static void Main(string[] args)
- {
- Console.WriteLine();
- // Valida la longitud del número de argumentos
- // pasados desde la línea de comandos:
- if (args.Length == 0)
- {
- Console.WriteLine("Especifique una ruta de directorio para.");
- return;
- }
- // Crea instancia de `DirectoryInfo` con el argumento pasado
- // desde línea de comandos:
- DirectoryInfo directorio = new DirectoryInfo(args[0]);
- Console.WriteLine("Tamaño total de {0}: {1} bytes.", directorio.Name,
- CalcularTamanioDirectorio(directorio, true).ToString());
- // Cierre del programa:
- Console.WriteLine(Environment.NewLine);
- Console.WriteLine("Fin de la aplicación. Presione Enter para finalizar.");
- Console.ReadLine();
- Console.WriteLine();
- }
- // Calcula el tamaño de los archivos de un directorio:
- public static long CalcularTamanioDirectorio(DirectoryInfo directorio,
- bool incluirSubdirectorios)
- {
- // Acumulador de bytes:
- long tamanioTotal = 0;
- // Examina todos los archivos contenidos en el directorio actual:
- foreach(FileInfo archivo in directorio.EnumerateFiles())
- {
- tamanioTotal += archivo.Length;
- }
- // Examinación de los subdirectorios:
- if (incluirSubdirectorios)
- {
- foreach(DirectoryInfo subdirectorio in directorio.EnumerateDirectories())
- {
- tamanioTotal += CalcularTamanioDirectorio(subdirectorio, true);
- }
- }
- return tamanioTotal;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement