Duda para copiar carpetas

Iniciado por miguellahoz, 18 Diciembre 2013, 12:42 PM

0 Miembros y 2 Visitantes están viendo este tema.

miguellahoz

Estaba haciendo un programa en C++ y este usa una pequeña base de datos de ficheros para funcionar (la mayoría son archivos de texto).
Necesito una forma para copiar la carpeta con todos estos archivos a otra localización, con todo su contenido. He intentado con CopyFile pero me da error, y MoveFile la mueve pero borra la primera.
También podría ir moviendo archivo a archivo, pero es un gran número de archivos y sería mucho código. Muchas gracias por la ayuda.

vangodp

usa el comando system("") de windows.h. :D
Dentro de las "" puedes poner comandos de la consola como copy o yo que se.
Pero solo sirve en gwuinX ya que usa comandos de DOS
copy, xcopy ...

miguellahoz

Cita de: vangodp en 18 Diciembre 2013, 14:12 PM
usa el comando system("") de windows.h. :D
Dentro de las "" puedes poner comandos de la consola como copy o yo que se.
Pero solo sirve en gwuinX ya que usa comandos de DOS
copy, xcopy ...


Ya he probado con ambos, copy sólo me deja copiar fichero a fichero, y xcopy me da error. He probado haciendo:
system("xcopy C:/carpeta1/ C:/carpeta2/");

ThinkByYourself

CitarTambién podría ir moviendo archivo a archivo, pero es un gran número de archivos y sería mucho código.
Pero no tiene porqué ser así, hombre. Para eso están los controles de flujo (condicionales y bucles) y las funciones recursivas: para que un mismo código se repita tantas veces como haga falta.
No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.

miguellahoz

Cita de: NoBullshit en 18 Diciembre 2013, 15:18 PM
Pero no tiene porqué ser así, hombre. Para eso están los controles de flujo (condicionales y bucles) y las funciones recursivas: para que un mismo código se repita tantas veces como haga falta.
Y hay alguna forma de que un bucle recorra todos los ficheros y subcarpetas de una carpeta? Porque no todos los archivos tienen nombres secuenciales y eso podría ser un problema.