bacter | |
| 2010-07-13 13:53 - Respuestas: 31 - Tema nº: 2693687
En los compiladores C de microsoft (por ejemplo MSC 6.0) existe por un lado la definición en dos.h de la estructura find_t resp. _dos_findfirst. En esta estructura se recojen nombre, atributo, fecha y hora de escritura asi como tamaño.
Luego estan definidas las dos funciones necesarias para vuestro propósito: _dos_findfirst() con parámetro nombre de archivo (sendero,nombre con * y ?) y estructura find_t para recojer la información.
_dos_findnext() con parámetro de la estructura.
Con lo cual, en el directorio orígen se arranca con un _dos_findfirst, y se crea un buble con _dos_findnext que se repite mientras que dos_findnext devuelve un valor.
Para cada archivo encontrado, se coje el nombre del archivo y se ejecuta con el un _dos_findfirst en el directorio destino. Se comparan fechas y longitud, y si es conveniente se copia el origen al destino.
Supongo que las estructuras equivalentes existen en otros lenguajes y/o compiladores de microsoft, ya que desde entonces poco ha cambiado para esta tarea, salvo que en los windows actuales se pueden usar nombres largos.
Si todavía alguien programa para windows .. quizas le sirva de pista.
| |
|