| 
	
		|  Autor | Tema: Copiar 2 archivos más recientes de una carpeta a otra con comando .bat  (Leído 7,899 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.418
								
								 
								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,789 |  11 Octubre 2008, 17:26 pm por illuminat3d
 |  
						|   |   | Copiar los archivos de la papelera a otra carpeta Scripting
 | @felipe@ | 5 | 10,728 |  26 Julio 2010, 13:50 pm por Novlucker
 |  
						|   |   | Cable para copiar datos de una PC a otra - carpeta compartida? Redes
 | hunter18 | 4 | 7,775 |  1 Mayo 2011, 04:27 am por ThonyMaster
 |  
						|   |   | [SOLUCIONADO] Copiar carpeta de archivos con progresbar Programación Visual Basic
 | e500 | 4 | 6,561 |  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 | 5,458 |  7 Agosto 2019, 02:21 am por nightcode
 |    |