Los datos que das no los tengo muy claros.........
¿Pero el nombre de los archivos siempre sería este?
Lista_001
Lista_002
Lista_003
Lista_004
Lista_005?????
O solamente serían DOS listas?:
Lista_001
Lista_002???
Y el archivo de número MAYOR siempre tendría que reemplazarse por el archivo "
Lista_001"???
por ejemplo:
c:\Lista_001 > nada
c:\Lista_002 > nada
c:\Lista_003 > nada
c:\Lista_004 > reemplazar por G:\Llegada\Transferencia\Cabecera\Lista_001.txt?
He echo este script basandome en que pueda haber
más de dos listas y todo lo que he preguntado sea así.
Si solo está "Lista001" en C:\, la reemplaza por la de G:\, y la borra de C:\.
Si hay muchas listas en c:\, reemplaza la del número mayor en G:\, y borra todas las listas de C:\.
Espero que te sirva
Saludos.
@echo off
REM By EleKtrO H@ckeR
REM Visita: Foro.ElHacker.Net
:Comprobar
:~~~~~~~~~
If not exist "G:\Llegada\Transferencia\Cabecera" (Mkdir "G:\Llegada\Transferencia\Cabecera" >nul)
If not exist "C:\Lista*.txt" (
Echo.
Echo. No existe ninguna lista...
Echo.
Pause
exit
)
:Listar
:~~~~~~
Dir /B "C:\Lista*.txt">"%TEMP%\Listas.txt"
for /F "Tokens=*" %%a in ('Type "%TEMP%\Listas.txt" ^| find /c /V ""') DO (
Set lineas=%%a
)
:Reemplazar Lista_001
:~~~~~~~~~~~~~~~~~~~~
If %lineas% LEQ 1 (
Copy /Y "C:\Lista_001.txt" "G:\Llegada\Transferencia\Cabecera\Lista_001.txt" >nul
Echo.
Echo. "C:\Lista_001.txt" Es la nueva lista...
Echo.
Pause
Exit
)
:Reemplazar Última lista
:~~~~~~~~~~~~~~~~~~~~~~~
Set /A Lineas-=1
For /f "Skip=%lineas% Tokens=*" %%A in ('type "%TEMP%\Listas.txt"') do (
Set Lista=%%A
Copy /Y "C:\%%A" "G:\Llegada\Transferencia\Cabecera\Lista_001.txt" >nul
)
:Reciclar listas antiguas
:~~~~~~~~~~~~~~~~~~~~~~~~
Del /Q "C:\Lista*.txt";"%TEMP%\Listas.txt" >nul
:Salir
:~~~~~
Echo.
Echo. "C:\%Lista%" Es la nueva lista...
Echo.
Pause
Exit