Pregunta: | 65529 - OBTENER EL ARCHIVO MAS ACTUAL DE UN FOLDER |
Autor: | Christian Cuadras |
Señores programadores, tengo una carpeta con varios archivos y quiero copiar el mas actual de todos a otra carpeta pero no encuentro el codigo.
No me interesa saber cual es el nombre del archivo, solo quiero que sea el mas actual en base a su fecha de modiciacion/creacion Me seria de muchisima ayuda que me pudieran decir cual es el codigo para realizar esta operacion dentro de un archivo .bat Saludos y gracias. |
Respuesta: | Christian Cuadras |
Señores, este es el codigo que encontre y me funciona a la perfeccion ademas de que es muy facil de utilizar:
Lo primero que deben hacer dentro del Batch es posicionarse en la carpeta donde tienen los archivos. CD <directorio> Despues deben de poner esta linea.... FOR /F "delims=|" %%I IN ('DIR "*.*" /B /O:D') DO SET NewestFile=%%I Lo que estamos haciendo es un ciclo de busqueda a partir de los atributos que asignamos al comando DIR, el cual esta ordenando los archivos por su fecha de modificacion/creacion. La variable "NewestFile" contiene el archivo mas actual de la carpeta donde estamos posicionados. Despues de esto podemos manejar y hacer lo que queramos con el archivo.... copy %NewestFile% <destino> type %NewestFile% Cualquier comando que queramos utilizar. El archivo ya lo contiene la variable %NewestFile% Espero que esto les sea de ayuda.... Saludos. |
Respuesta: | ALBERTO aranda perales |
A VER COMO ME EXPLICO...
TODOS LOS FICHEROS TIENEN UN ATRIBUTO QUE INDICA QUE ESTÁ MODIFICADO. SI QUITAS ESE ATRIBUTO A TODOS LOS FICHEROS QUE YA ESTAN EN EL FOLDER (ATTRIB *.* -A) LUEGO PUEDES HACER UNA COPIA DEL FICHERO AÑADIDO CON UN XCOPY XCOPY (ORIGEN) (DESTINO) /M (UNA VEZ COPIADO EL FICHERO, PIERDE EL ATTRIBUTO DE MODIFICADO) OTRA OPCIÓN ES QUE COPIES UN FICHERO MODIFICADO/ CREADO DESPUES DE UNA FECHA DADA XCOPY (ORIGEN) (DESTINO) /D:FECHA (AQUI TIENES QUE CAMBIAR FECHA CADA VEZ QUE LO USAS) YO TE RECOMIENDO LA PRIMERA OPCIÓN |