8 de julio de 2013

FTP desde batch en windows

Supongamos que el archivo file.txt, se quiere bajar desde el servidor ftp://direccion_ftp.com

Para eso se puede guardar una lista de los comandos ftp necesarios en un archivo, por ejemplo:

creamos cmd.ftp conteniendo
open direccion_ftp.com
userFtp
passFtp
get file.txt
quit
Obviamente reemplazando la dirección, usuario, password y archivo por los que correspondan.
(Notar que la URL se escribe directamente, sin especificar el protocolo ftp)

Ahora creamos un archivo .bat para ejecutar esos comandos desde el cliente ftp, por ejemplo :

creamos download.bat conteniendo
ftp -s:cmd.ftp
Listo, probar!
C:\path>download.bat
Salida

C:\path>ftp -s:cmd.ftp
ftp> open direccion_ftp.com
Conectado a direccion_ftp.com.
220 "Bienvenido al servidor de FTP"
Usuario (direccion_ftp.com:(none)):
331 Please specify the password.

230 Login successful.
ftp> get file.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for file.txt (1024 bytes).
226 Transfer complete.
ftp: 1024 bytes recibidos en 0,02 segundos 77,31 a KB/s.
ftp> quit
221 Goodbye.

Cuidado: el archvo cmd.ftp va a contener usuario y password del ftp, y lo podría ver cualquiera, cosa que no suele ser buena idea.