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