Cómo descargar archivos desde un sitio FTP en una línea de comando sin interacción del usuario (Windows)

Cómo descargar archivos desde un sitio FTP en una línea de comando sin interacción del usuario (Windows)

Sé que hay un comando FTP que se puede ejecutar desde la línea de comandos en Windows y descarga un archivo desde un sitio FTP. El usuario + la contraseña se especifican en "ese" cmd de una línea. Estas opciones + paso de contraseña deben estar en esa línea de comando.

echo open 192.168.1.64 21> ftp.txt
echo anonymous>> ftp.txt
echo [email protected]>> ftp.txt
echo bin >> ftp.txt
echo get test.txt >> ftp.txt
echo bye >> ftp.txt

ftp -s:ftp.txt

Respuesta1

Prueba esto:Archivos por lotes: descargas FTP desatendidas

WGET ftp://ftp.mydomain.com/path/file.ext  

para descargas anónimas

o:

WGET ftp://user:[email protected]/path/file.ext  

cuando se requiere autenticación.


Como señaló @XavierStuvw a través de ediciones y comentarios, cambiar WGETa minúsculas wgetfuncionaría en Linux.

wget ftp://user:[email protected]/path/file.ext

Respuesta2

Encontré el camino:

echo open 192.168.0.1 >> ftp &echo user admin w00t >> ftp &echo binary >> ftp &echo get file.zip >> ftp &echo bye >> ftp &ftp -n -v -s:ftp &del ftp

Respuesta3

Tenga en cuenta que puede solicitar la sintaxis de un comando en DOS utilizando /? cambiar. Por ejemplo:

C:\>ftp/?

Transfiere archivos hacia y desde una computadora que ejecuta un servicio de servidor FTP
(a veces llamado demonio). Ftp se puede utilizar de forma interactiva.

FTP [-v] [-d] [-i] [-n] [-g] [-s:nombre de archivo] [-a] [-A] [-x:sendbuffer] [-r:recvbuf
fer] [-b:asyncbuffers] [-w:tamaño de ventana] [host]

  -v Suprime la visualización de respuestas del servidor remoto.
  -n Suprime el inicio de sesión automático en la conexión inicial.
  -i Desactiva las indicaciones interactivas durante varios archivos
                  transferencias.
  -d Habilita la depuración.
  -g Desactiva la agrupación global de nombres de archivos (consulte el comando GLOB).
  -s:nombre de archivo Especifica un archivo de texto que contiene comandos FTP; el
                  Los comandos se ejecutarán automáticamente después de que se inicie FTP.
  -a Utilice cualquier interfaz local al vincular la conexión de datos.
  -Un inicio de sesión como anónimo.
  -x:send sockbuf Anula el tamaño SO_SNDBUF predeterminado de 8192.
  -r:recv sockbuf Anula el tamaño SO_RCVBUF predeterminado de 8192.
  -b:recuento asíncrono Anula el recuento asíncrono predeterminado de 3
  -w:tamaño de ventana Anula el tamaño del búfer de transferencia predeterminado de 65535.
  host Especifica el nombre de host o la dirección IP del servidor remoto.
                  host al que conectarse.

Notas:
  - Los comandos mget y mput toman y/n/q para sí/no/salir.
  - Utilice Control-C para cancelar comandos.

En su caso, querrá usar el modificador -s para alimentarlo con un script, incluidas las respuestas de inicio de sesión.

Por ejemplo:

  1. Cree un archivo de script (c:\scriptfile.txt) con el siguiente contenido:

    open
    servername_or_ip
    username
    password
    get
    /fullpath/thefile.txt
    c:\fullpath\thefile.txt
    quit
    
  2. ejecute ftp con el modificador -s y especifique el nombre del archivo del script

    C:\>ftp -s:c:\scriptfile.txt
    

Respuesta4

Pruébelo curl, es potente y se presenta listo para usar (win10).

curl --user ftpusername:ftpuserpass -o outputdirname\test.txt  ftp://host/test.txt

información relacionada