transportar variables ms-dos a modo FTP ¿Alguien sabe?

Iniciado por gorgon12, 3 Octubre 2009, 17:44 PM

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

gorgon12

Saludos comunidad.

Alguien tiene idea de como transportar variables predefinidas como %date% entre otras definidas por el usuario al entorno de linea de comandos FTP de ms-dos???

El asunto es que quiero crear un batch que automatiza las descargas de un archivo especifico... este archivo se crea diariamente y toma como nombre la fecha actual, de ahí que necesito el uso de la variable %date% pero a introducirla no se reconoce.

Alguien sabe como solucionar esto?

Gracias de antemano.

CaronteGold



   Que yo sepa tiene que funcionar, si el nombre es igual que la fecha. Yo lo probé con %username% muchas veces y funciona.

kevlar

#2
Saludos.

Claro que si, pero te va a costar una lana, je je.


------------------------------------
set DIA=%DATE:~0,2%
set MES=%DATE:~3,2%
set año=%DATE:~6,4%
set FECHA=%DIA%%MES%%año%

set IP=10.225.129.14
set USR=yomismo
set PASSWORD=secreto

echo open %IP% > myftp.ftp
echo user %USR% %PASSWORD% >> myftp.ftp
echo asc >> myftp.ftp
echo get myarchivo%FECHA%.txt >> myftp.ftp
echo bye >> myftp.ftp


ftp -niv < myftp.ftp

------------------------------------------------------------
versión alternativa para la variable FECHA
-------------------------------------------------------------
@echo off
for /F "tokens=1,2,3 delims=/ " %%i IN ('date /T') do (
set FECHA=%%i%%j%%k
)

echo %FECHA%
--------------------------------------------------------------




Enjoy batch programming............................................



gorgon12

Muchas Gracias Caronte y Kevlar. Nunca se me ocurrió tratar todas la variables fuera de la CLI del cliente ftp y luego transportar el resultado al archivo ftp en cuestión.

Excelente solución... hasta la proxima duda ::)

Tempestinfinit

Lo fecha la podrías declarar con subcadenas y ahorrarte dos lineas

set fecha=%date:~0,2%%date:~3,-5%%date:~-4%

Si lo quieres con variables individuales dia, mes y año puedes hacer lo siguiente:

set /a dia=%date:~0,2%,mes=%date:~3,-5%,año=%date:~-4%

y también puedes ahorrarte codigo con la redirección multilinea....

(echo open %IP%
echo user %USR% %PASSWORD%
echo asc
echo get myarchivo%FECHA%.txt
echo bye)>> myftp.ftp

Te quedaría así...

set fecha=%date:~0,2%%date:~3,-5%%date:~-4%

set IP=10.225.129.14
set USR=yomismo
set PASSWORD=secreto

(echo open %IP%
echo user %USR% %PASSWORD%
echo asc
echo get myarchivo%FECHA%.txt
echo bye)>> myftp.ftp

ftp -niv < myftp.ftp

Espero que te sirva, salu2

                                        Tempestinfinit

Osmart

excelente dato!!

Me podrian ayudar a resolver como traer la fecha de ayer dentro de esta misma solucion



Eleкtro

@Osmart

No se tolera revivir temas antiguos si no es por parte del autor o para aportar información esencial al mismo.

Debes formular tu pregunta en un nuevo post.

PD: Te recomiendo una lectura a las reglas de este subforo: Normas del tablón ( LEER ANTES DE POSTEAR )

Saludos