Usuario del software
2011-11-16 14:47:23 +0000 2011-11-16 14:47:23 +0000
25

¿Cómo puedo enviar por FTP varios archivos desde la línea de comandos?

Me gustaría enviar por FTP el contenido de un directorio, pero no encuentro la forma correcta de usar un comodín. Parece que esto sería algo común; ¿está mal todo mi enfoque?

El comando es

ftp -s:"C:\Scripts\ftp01" ftpserver.domain.com

El script que se llama es el siguiente. Actualizado por billinkc.

username
password
ascii
cd "/destinationfolder"
lcd "C:\Backup"
mput *.bak
close
quit

El script se inicia, no se copian archivos y la sesión FTP permanece abierta.

230 User username Logged in Successfully
ftp> ascii
200 TYPE Command OK A
ftp> cd "/destinationfolder"
250 Directory successfully changed to "/destinationfolder"
ftp> lcd "C:\Backup"
Local directory now C:\Backup.
ftp> mput *.bak
mput 9829980.bak? close
mput 6406766.bak? quit
ftp>
ftp>

Conclusión

Necesitaba añadir la bandera para suprimir el comando PROMPT:

ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com

Respuestas [7]

36
2011-11-16 15:22:28 +0000

Antes de emitir el comando mput, emita un comando prompt para desactivar el Modo Interactivo. Una vez desactivado, no debería pedirle que confirme cada archivo para el mput (o un mget).

36
3
2011-11-16 15:01:47 +0000

Nunca he intentado usar la ruta de acceso para las carpetas locales, pero lo he hecho cambiando el directorio local (lcd):

username
password
ascii
cd "/destinationfolder"
lcd Backup
mput *.bak
close
quit
3
2
2011-11-16 15:28:32 +0000

Intenta insertar la línea prompt n justo antes de la línea mput.

2
1
2014-04-25 16:55:45 +0000

Como Tim Haegele mencionó, ncftp hace esto muy suavemente en Linux, si usted es capaz y está dispuesto a instalarlo:

sudo apt-get install ncftp
ncftp -R ftpserver.domain.com . /Scripts/ftp01
1
1
2011-11-16 14:55:58 +0000

Use el comando mput para poner varios archivos.

1
1
2011-11-16 22:09:40 +0000

Si tienes derechos de administrador, puedes instalar ncftpput . Es fácil de usar y es genial para las subidas recursivas por FTP. El conmutador para la transferencia recursiva es -R.

El software está incluido en la mayoría de las distribuciones de Linux. Para Windows se puede instalar con Cygwin .

1
0
2019-06-03 19:51:05 +0000

Este es el script que usé y que me funcionó.

Para ftp1.bat (script):

ftp -i -s:\tmp\ftp.txt

Para ftp.txt (script):

Open ip
username
password
prompt
lcd C:\YourFolder\YourFolder
binary
cd /DestinationFolder
prompt
mput *.bak
cd ..
disconnect
quit

Quizás haya partes que no sean necesarias pero lo pongo como me funcionó, espero que ayude

0