Descargar un archivo de un FTP con un batch
Resuelto
2berte
Mensajes publicados
217
Estado
Miembro
-
Garfunkel -
Garfunkel -
Hola,
Quiero descargar un archivo desde un servidor FTP. Para ello quiero hacer un batch para poder ejecutarlo esta noche y que se descargue.
Primero probé en DOS, funciona muy bien, aquí están los comandos:
ftp
open miFTP.com
nombreUsuario
pwdUsuario
cd MiDirectorio
lcd C:\
mget miArchivo.txt
quit
Luego intenté automatizarlo en un archivo batch...
ftp
open miFTP.com
User nombreUsuario pwdUsuario
lcd c:\
cd miDirectorio
mget miArchivo.txt
quit
pause
Pero sigo atascado en la línea ftp. En mi consola hay una línea ftp parpadeando, y si presiono Enter, vuelve a lo mismo. Creo que eso es normal ya que la orden ftp es una aplicación.
Entonces intenté externalizar el comando FTP. Así que tengo dos archivos. uno que lanza el comando ftp y que recibe el archivo de procesamiento. Este archivo de procesamiento es exactamente lo que escribiría en la línea de comandos de DOS.
Mi batch:
ftp -s: "D:\Escritorio\tratamiento.txt"
Mi archivo de tratamiento:
open miFTP.com
miUsuario
miContraseña
lcd c:\
cd miDirectorio
mget miArchivo.txt
quit
pause
Pero mi batch no lee el archivo de tratamiento. ¿Sabes de dónde podría provenir el error?
Esperando tu respuesta,
Atentamente,
2berte
Configuración: Windows Internet Explorer 8.0
Quiero descargar un archivo desde un servidor FTP. Para ello quiero hacer un batch para poder ejecutarlo esta noche y que se descargue.
Primero probé en DOS, funciona muy bien, aquí están los comandos:
ftp
open miFTP.com
nombreUsuario
pwdUsuario
cd MiDirectorio
lcd C:\
mget miArchivo.txt
quit
Luego intenté automatizarlo en un archivo batch...
ftp
open miFTP.com
User nombreUsuario pwdUsuario
lcd c:\
cd miDirectorio
mget miArchivo.txt
quit
pause
Pero sigo atascado en la línea ftp. En mi consola hay una línea ftp parpadeando, y si presiono Enter, vuelve a lo mismo. Creo que eso es normal ya que la orden ftp es una aplicación.
Entonces intenté externalizar el comando FTP. Así que tengo dos archivos. uno que lanza el comando ftp y que recibe el archivo de procesamiento. Este archivo de procesamiento es exactamente lo que escribiría en la línea de comandos de DOS.
Mi batch:
ftp -s: "D:\Escritorio\tratamiento.txt"
Mi archivo de tratamiento:
open miFTP.com
miUsuario
miContraseña
lcd c:\
cd miDirectorio
mget miArchivo.txt
quit
pause
Pero mi batch no lee el archivo de tratamiento. ¿Sabes de dónde podría provenir el error?
Esperando tu respuesta,
Atentamente,
2berte
Configuración: Windows Internet Explorer 8.0
2 respuestas
-
Gracias, para el enlace pude autocorregirme! Sin embargo, busqué soluciones en la red...
Entonces doy mi script final:
1er archivo: archivo .bat :
ftp -s:D:\Bureau\config.txt -n
-s indica la ruta del archivo de procesamiento a ejecutar, atención, no hay espacio entre los ":" y el nombre del archivo.
-n indica que la autenticación se realiza manualmente, no la ofrece al inicio.
2º archivo: archivo de procesamiento:
open NomDuFTP
user login password
get test.txt
close
quit
Este trozo de código permite descargar un archivo test.txt ubicado en la raíz del ftp. Se descargará en el directorio por defecto del usuario (p. ej.: C:\Users\XXX\test.txt).
Para colocar el archivo en otro directorio, basta indicar otra ruta con el comando lcd, por ejemplo lcd D:\MesDocs\
Con la esperanza de que este trozo de código pueda servir a otras personas.
Atentamente
2berte -
Hola,
Vea el ejemplo aquí: https://forum.hardware.fr/hfr/WindowsSoftware/ligne-commande-sujet_101423_1.htm
debe ser un error de comando: es get o send.
Atentamente,