Ayuda ...

Iniciado por Libra_18, 27 Noviembre 2011, 06:18 AM

0 Miembros y 1 Visitante están viendo este tema.

Libra_18

Quisiera saber cómo copiar un archivo de txt a otro directorio, pero resulta que   este archivo cambia de nombre aleatoriamente

Les explicoTengo un archivo llamado
C:\Lista_001.txt
y lo quiero transferir  al destino
G:\Llegada\Transferencia\Cabecera\Lista_001.txt
y utilizo este comando

Copy C:\Lista_001.txt  G:\Llegada\Transferencia\Cabecera\Lista_001.txt

Pero resulta  que cada 5 minutos me llega otro archivo llamado
Lista_002.txt
y quisiera q reemplazara  al archivo lista Lista_001.txt

Lo más complicado esq el nombre de los archivos cambian, y no sé cómo enviarlos al directorio que deseo 



leogtz

¿O sea que siempre habrá solo un "Lista_001.txt" en "G:\Llegada\Transferencia\Cabecera"?

Se podría ir borrando el archivo anterior al que llegó para así evitar confusiones....

Por cierto, tu titulo para el mensaje no es el adecuado, hay que ser específicos con la duda.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Eleкtro

#2
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.



Código (dos) [Seleccionar]
@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










Libra_18

Gracias EleKtro H@cker
tu Respuesta me sirvió de mucho  :xD