En este capítulo del Tutorial de C++ crearemos una función llamada copy_folder que nos permitirá copiar una carpeta a un determinado destino, la función se basará en el comando del sistema de Windows xcopy, el programa solicitará al usuario la ruta de la carpeta que se quiere copiar y también la ruta de destino donde se quiere crear.
Más información sobre el comando xcopy: http://ss64.com/nt/xcopy.html
copy-folder.cpp
#include <iostream>
#include <direct.h> //mkdir
#include <string>
using namespace std;
void copy_folder(string ruta, string destino)
{
/* Extraer el nombre de la carpeta que se quiere copiar */
size_t aguja = ruta.rfind("\\");
if (aguja != string::npos)
{
/* Modificar el destino agregando el nombre de la carpeta a copiar */
destino = destino + "\\" + ruta.substr(aguja+1);
}
/* Crear la carpeta vacía en el destino */
mkdir(destino.c_str());
/* String para crear el comando: xcopy ruta destino */
string cadena;
cadena = "xcopy " + ruta + " " + destino + " /H /S";
/* Ejecutar el comando */
system(cadena.c_str());
}
void init()
{
cout << "Ruta del directorio: ";
string ruta;
getline(cin, ruta);
cout << "Destino: ";
string destino;
getline(cin, destino);
copy_folder(ruta, destino);
init();
}
int main(int argc, char *argv[])
{
init();
system("PAUSE");
return 0;
}
No hay comentarios:
Publicar un comentario