Copiar Directorios

Copiar directorios.

Permitanme mostrarle como copiar un Directorio(incluyendo SubDirectorios y Archivos) utilizando Net Framework.

(Siempre utilizando una aplicación de Consola).
Primero Creamos un procedimiento(void) llamado Copiar.

 
 
 
 
 
 
 

static void Copiar(DirectoryInfo diOrigenArg,DirectoryInfo diDestinoArg,bool blSobreEscribir)
{
DirectoryInfo[] diSubDirectorios=diOrigenArg.GetDirectories();
FileInfo[] fiArchivos = diOrigenArg.GetFiles();
if (!diDestinoArg.Exists)
{
Console.WriteLine("Creando la carpeta {0}",diDestinoArg.Name);
diDestinoArg.Create();
}

foreach (DirectoryInfo diSubDirectorio in diSubDirectorios)
{
Copiar(diSubDirectorio,new DirectoryInfo(string.Format("{0}\\{1}",diDestinoArg.FullName,diSubDirectorio.Name)),true);
}

foreach (FileInfo fiArchivo in fiArchivos)
{
Console.WriteLine("Copiando el Archivo {0} en {1}", fiArchivo.Name, diDestinoArg.FullName);
fiArchivo.CopyTo(string.Format("{0}\\{1}", diDestinoArg.FullName, fiArchivo.Name),blSobreEscribir);
}
}

En el procedimiento Main completamos el codigo.

static void Main(string[] args)
{
Console.Title = "Copiar Directorio - @dsullon v1.0";
ConsoleKeyInfo ki;
string RutaOrigen;
string RutaDestino;
do
{
Console.Clear();
Console.Write("Ingrese la Ruta Origen: ");
RutaOrigen = Console.ReadLine();
Console.Write("Ingrese la Ruta Destino: ");
RutaDestino = Console.ReadLine();
Console.ResetColor();
DirectoryInfo diOrigen = new DirectoryInfo(RutaOrigen);
DirectoryInfo diDestino= new DirectoryInfo(RutaDestino);
Console.ForegroundColor = ConsoleColor.DarkYellow;
Copiar(diOrigen, diDestino, true);
Console.WriteLine("¿Desea Continuar(S/N)?");
ki=Console.ReadKey();
} while (ki.Key==ConsoleKey.S);
}

Tags: , , ,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© VB-MUNDO – Visual Basic y mucho más
CyberChimps