Copiar carpeta y todo su contenido

20/09/2005 - 17:32 por Marco Antonio Montalvo | Informe spam
Hola a todos mi consulta es esa: existe una rutina para copiar una carpeta
determinada incluyendo todos los archivos y subdirectorios dentro de ella?
Como puedo hacerlo?.
Gracias

Preguntas similare

Leer las respuestas

#1 Oscar Calvo
20/09/2005 - 19:29 | Informe spam
Mira las clases Directory y DirectoryInfo


"Marco Antonio Montalvo" escribió en el mensaje
news:#$$
Hola a todos mi consulta es esa: existe una rutina para copiar una carpeta
determinada incluyendo todos los archivos y subdirectorios dentro de ella?
Como puedo hacerlo?.
Gracias


Respuesta Responder a este mensaje
#2 Marco Antonio Montalvo
21/09/2005 - 01:44 | Informe spam
Ya les un vistazo a DirectoryInfo y Directory y no me muestran ninguna
opcion copy como File o FileInfo. como hago con eso? tal vez alguna
combinación de funciones? pero cuales? Una ayudita por favor
Respuesta Responder a este mensaje
#3 Kravek
21/09/2005 - 01:47 | Informe spam
Ahora mismo no lo tengo a mano...
Peo en un proyecto me cree una especia de XCopy, el algoritmo era más o
menos el siguiente

recibía la ruta y hacie un for each para cada archivo del directorio y luego
recursivametne llamaba a cada una de sus subcarpetas para hacer el paso 1

"Marco Antonio Montalvo" escribió en el mensaje
news:uJW5$
Ya les un vistazo a DirectoryInfo y Directory y no me muestran ninguna
opcion copy como File o FileInfo. como hago con eso? tal vez alguna
combinación de funciones? pero cuales? Una ayudita por favor
Respuesta Responder a este mensaje
#4 Marco Montalvo
21/09/2005 - 16:26 | Informe spam
En conclusion no existe en la biblioteca una función específica para
copiar carpetas y subcarpetas. Tomare en cuenta la explicación de
Kravek, gracias por la idea.
Respuesta Responder a este mensaje
#5 Marco Montalvo
21/09/2005 - 18:47 | Informe spam
aqui les posteo el codigo c# para eliminar carpeta.. si hay alguna
correccion u optimizacion por favor postearla

public string copiarCarpeta(string origen, string destino)
{
string mensaje = "Carpeta copiada!";
try
{
string directorioTemporal;
DirectoryInfo dir = new DirectoryInfo(origen);
FileInfo[] archivos = dir.GetFiles();
Directory.CreateDirectory(destino);
foreach(FileInfo archivo in archivos)
{
archivo.CopyTo(destino+"\\"+archivo.Name, true);
}
DirectoryInfo[] directorios = dir.GetDirectories();
directorioTemporal = destino;
foreach(DirectoryInfo directorio in directorios)
{
destino = directorioTemporal;
destino+= "\\" + directorio.Name;
copiarCarpeta(directorio.FullName, destino);
}
return mensaje;
}
catch(IOException e)
{
mensaje = "Ha ocurrido un error: " + e.Message;
return mensaje;
}
catch(Exception e)
{
mensaje = "Ha ocurrido un error: " + e.Message;
return mensaje;
}
}
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida