Autor
|
Tema: Copiar 2 archivos más recientes de una carpeta a otra con comando .bat (Leído 6,023 veces)
|
Josejanseco
Desconectado
Mensajes: 2
|
Tengo una carpeta de origen (D: \ Board_Interfaces \ Historico), que recibe archivos ".csv" diarios de un servidor, los nombres de los archivos son básicamente dos:
-KON.DAILY_D_ES_20190331_20190412 -KON.DAILY_P_ES_20190331_20190412
Como puede ver, el nombre del archivo cambiará según la fecha, pero solo me interesa la fecha de modificación. Además, esta carpeta de origen tiene varios archivos con nombres basados en los ejemplos anteriores. Me gustaría tomar los últimos "KON.DAILY_D" y "KON.DAILY_P", y copiarlos en una carpeta de destino (D: \ Board_Interfaces \ Interfaces \ IN_KON). Gracias por la ayuda
De momento tengo este comando pero no me funciona
@Echo off setlocal enableDelayedExpansion set "source=C:\Users\guillermo.abascal\Desktop\IN_KON" set "target=C:\Users\guillermo.abascal\Documents\Prueba"
PushD "%source%" set "counter=0" for /f "tokens=* delims=" %%A in ('dir "*.csv" /b /o:-d /t:w') do ( set /a counter+=1 Set Copy[!counter!]=copy "%%~fA" "%target%\" if !counter! equ 2 goto :break ) :break Del /Q "%target%\*" For /L %%C in (1,1,%counter%) Do !Copy[%%C]! PopD
|
|
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
No entiendo exactamente que es lo que quieres hacer. Tampoco cual es la utilidad.
Quieres hacer un copia y pega de los 2 ultimos archivos?
No entiendo quien hace estos embrollos de códigos con tanta flag y tanto parámetro para algo sencillo. Solo tienes que usar %%~t? Para sacar la fecha de modificación del archivo. %%~n para el nombre. Recorres el directorio en un for. Guardas el nombre y la fecha de cada archivo en un array o linked list, o algo así. Comparas las fechas en los arrays para ordenarlos. Obtienes el nombre de los 2 primeros arrays. Copias los 2 primeros ficheros del array en la carpeta destino.
Si quieres metes todo en una función y le pones un timer para que revise por archivos cada cierto tiempo por ejemplo timeout 3600 hará que cada hora se compruebe la carpeta. Para que se ejecute al arrancar pegas un acceso directo al bat en la carpeta startup y ahí se quedara el proceso abierto comprobando cada hora.
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
Josejanseco
Desconectado
Mensajes: 2
|
Hola, lo que sucede es que una interfaz realiza descargas diarias a una carpeta, con los nombres: -KON.DAILY_D_ES_AAAAMMDD_AAAAMMDD -KON.DAILY_P_ES_AAAAMMDD_AAAAMMDD
Dicha carpeta, ya contiene archivos similares de días anteriores, por lo que necesito copiar el más reciente.
Los dos archivos más recientes los tengo que copiar (diariamente) a una carpeta, desde la cual. una aplicación de BI realiza la carga.
La utilidad es ahorrar tiempo al no tener que realizar este proceso manualmente.
Lamentablemente, no poseo conocimientos de informática por lo que buscar en foros ha sido mi única opción. El comando que copié en el post anterior, debería en un principio realizar la función que necesito. Desconozco si hay una manera más sencilla de hacerlo, pero estaría inmensamente agradecido si pudieses ayudarme con eso. Como te comentaba, esta es una área ajena a mis estudios, y aunque ya te tomaste la molestia de explicármelo paso a paso, no tengo ni idea de como plasmarlo en un código.
No se si tengas tiempo de escribirlo solo para que yo lo pueda pegar, de igual manera gracias por los consejos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Copiar Server en Otra carPeta
Programación Visual Basic
|
illuminat3d
|
8
|
3,391
|
11 Octubre 2008, 17:26 pm
por illuminat3d
|
|
|
Copiar los archivos de la papelera a otra carpeta
Scripting
|
@felipe@
|
5
|
10,193
|
26 Julio 2010, 13:50 pm
por Novlucker
|
|
|
Cable para copiar datos de una PC a otra - carpeta compartida?
Redes
|
hunter18
|
4
|
7,236
|
1 Mayo 2011, 04:27 am
por ThonyMaster
|
|
|
[SOLUCIONADO] Copiar carpeta de archivos con progresbar
Programación Visual Basic
|
e500
|
4
|
5,284
|
30 Diciembre 2014, 22:14 pm
por e500
|
|
|
cual seria el comando para copiar archivos de una pc a otra dsde meterpreter
Dudas Generales
|
nightcode
|
0
|
3,923
|
7 Agosto 2019, 02:21 am
por nightcode
|
|