Transferir archivos desde ftp al sistema local

Transferir archivos desde ftp al sistema local

Quiero copiar un archivo de FTP y pegarlo en mi sistema local. Quiero ejecutar esto a través de un archivo por lotes. Estoy probando esto durante una semana. Pero no pude encontrar la solución. Alguien me ayuda por favor....

este es mi trabajo real


Quiere copiar un archivo llamado "Friday.bat" deftp://172.16.3.132(con nombre de usuario y contraseña) Entonces uso la siguiente codificación:

@echo off
@ftp -i -s:"%~f0"&GOTO:EOF
open 172.16.3.132
mmftp
((((pasword entered here)))))
binary
get Friday.bat 
pause

Resultado:


ftp> @echo off
ftp> @ftp -i -s:"%~f0"&GOTO:EOF
Invalid command.
ftp> open 172.16.3.132
Connected to 172.16.3.132.
220 Welcome to ABL FTP service.
User (172.16.3.132:(none)):
331 Please specify the password.

230 Login successful.
ftp> binary
200 Switching to Binary mode.
ftp> get Friday.bat
200 PORT command successful. Consider using PASV.
550 Failed to open file.
ftp> pause

Finalmente, se copia un archivo llamado Friday.bat a mi sistema local con 0 bytes, pero no se abre.

Respuesta1

Asegúrese de poder descargar el archivo manualmente con su marca favorita de cliente FTP. Si senofunciona, el problema parece estar en el lado del servidor: el servidor FTP no puede acceder al archivo, por cualquier motivo (¿permisos?). Si sehace, asegúrese de que el proceso que ejecuta su archivo por lotes tenga permiso de escritura en el directorio actual, o mejor, cambie el directorio antes de descargarlo.

Los profesionales crearían un directorio temporal y procesarían el archivo allí (pero asegúrese de bloquear este directorio y limpiarlo después).

Respuesta2

A ftp no le gusta la línea dos... ¿es necesaria?

error 550se lanza si el archivo no existe o si no tiene los permisos correctos para el archivo. Asegúrese de tener derechos de lectura globales para el archivo o de utilizar el usercomando para iniciar sesión con un usuario local conocido en la máquina remota que tiene derechos de acceso al archivo. Asegúrese de que estas condiciones sean correctas.

Eso debería arreglar tu problema.

información relacionada