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.
Que yo sepa tiene que funcionar, si el nombre es igual que la fecha. Yo lo probé con %username% muchas veces y funciona.
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............................................
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 ::)
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
excelente dato!!
Me podrian ayudar a resolver como traer la fecha de ayer dentro de esta misma solucion
@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 ) (http://foro.elhacker.net/scripting/normas_del_tablon_leer_antes_de_postear-t201567.0.html)
Saludos