C sharp - Copiar un directorio

 
Vista:

Copiar un directorio

Publicado por kRaLiTo (2 intervenciones) el 21/06/2004 12:57:13
Hola, necesito saber como copio el contenido de un directorio con todos sus archivos carpetas subcarpetas etc a otro directorios, por ejemplo: copiar C:\prueba\ a C:\copia_de_prueba\

En builder lo he hecho ejecutando una linea de comandos con system(); pero en C# no se como hacerlo.

Gracias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Copiar un directorio

Publicado por Edgar (278 intervenciones) el 21/06/2004 16:16:25
Hola

Bueno, en C# podrías hacer algo similar, usa la clase Process, con esta puedes ejecutar el comando copy, aqui tienes la referencia de dicha clase

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsprocessmemberstopic.asp

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Copiar un directorio

Publicado por Yamil Bracho (1164 intervenciones) el 21/06/2004 16:25:39
En .NET tienes todas las clases necesarias para hacer un proceso de copiar directorios muy facil. La idea es que este sea un proceso recursivo, es decir, que puedas copir subdirectorios dentro de subdirectorio. El codigo seria algo como

using System;
using System.IO;

namespace Utility.IO{
/// <summary>
/// Filesystem
/// </summary>
public class FileSystem{
// Copy directory structure recursively
public static void copyDirectory(string Src,string Dst){
String[] Files;

if(Dst[Dst.Length-1]!=Path.DirectorySeparatorChar)
Dst+=Path.DirectorySeparatorChar;
if(!Directory.Exists(Dst)) Directory.CreateDirectory(Dst);
Files=Directory.GetFileSystemEntries(Src);
foreach(string Element in Files){
// Sub directories
if(Directory.Exists(Element))
copyDirectory(Element,Dst+Path.GetFileName(Element));
// Files in directory
else
File.Copy(Element,Dst+Path.GetFileName(Element),true);
}
}

}
}

Para invocarlo haces

try{
copyDirectory(@"c:\MySrcDirectory",@"c:\MyDstDirectory");
}
catch(Exception Ex){
Console.Error.WriteLine(Ex.Message);
}

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar