Ver Mensaje Individual
  #1  
Antiguo 28-09-2007
Avatar de Greco
Greco Greco is offline
Miembro
 
Registrado: jul 2007
Ubicación: Chile
Posts: 97
Reputación: 19
Greco Va por buen camino
vaciar dir1 y copiar archivos de dir2 a dir1

Hola, Necesito realizar lo siguiente:

Tengo una carpeta (por ejemplo c:/carpeta1) la cual contiene varias carpetas en su interior (DirBase, dir1, dir2, dir3, ... dirn), y cada una de estas carpetas contienen archivos con una extención determinasa en su interior.

Lo que deseo hacer es copiar el contenido de dir1 a DirBase, si DirBase contenia ya archivos, estos deben ser eliminados.

Tengo la idea de lo que quiero realizar pero no se de que forma plantearmelo, no se cual seria la mejor forma de hacerlo, se me ocurre lo siguiente.

1.- Eliminar la carpeta DirBase en caso de que exista.
2.- Crear la carpeta DirBase.
3.- Copiar el contenido de DirX hacia DirBase.

Despues si se desea copiar el contenido de Dir3 hacia DirBase realizaría las mismas tareas 1, 2 y 3.

Talvez exista otra forma mas profecional de hacerlo.

Buscando en el foro encontre el siguiente código que me sirve para borrar el contenido de DirBase, con esto ya me estoy evitando el paso 1 y 2 (borrar DirBase con su contenido y volver a crearlo). asi ya no tengo que borrar DirBase y volverlo a crear, solo borro su contenido y listo.

Código Delphi [-]
 Var
  
  MiDir:String;  // Donde están los ficheros
  MisFicheros:String;  //Cadena que contiene el nombre con comodines
  RBusqueda:TSearchRec;  //Está definida en la unidad SysUtils
 
 Begin
  MiDir:='C:\Carpeta1\DirBase\';
  MisFicheros:='*.txt';
  
 If FindFirst(MiDir+MisFicheros,faanyfile, RBusqueda)=0 Then
  Begin
   DeleteFile(PChar(MiDir+RBusqueda.Name));  //Borro el primero si existe
 
     //Busco todos los del mismo patrón y los borro
     While FindNext(RBusqueda)=0 Do
      Begin
       DeleteFile(PChar(MiDir+RBusqueda.Name));
      End;
 
    //Ambas funciones devuelven 0 si la búsqueda tiene éxito
  End;

Por lo que ya tengo resuelta la primera parte, ahora me queda averigual como COPIAR los archivos que esten dentro de la carpeta Dir1 hacia DirBase.

Alguien me podría ayudar en eso??, los ejemplos que he encontrado en el foro no los he logrado entender bien.

Disculpen por alargarme en el post y si es que no fui muy claro en mi explicación.

Saludos
__________________
Greco - Principiante
Responder Con Cita