Antes do comando mget, adicione uma linha que diga
prompt
Esta é uma continuação do arquivo FTP BAT - Tarefa Agendada do Windows .
Copiei o script FTP, mas não posso transferir os arquivos para o meu computador local.
Tudo que eu obtenho é esse (endereço do servidor omitido):
331 Password required for ftpdemo.
230 User ftpdemo logged in.
ftp> lcd C:\Temp\Test
Local directory now C:\Temp\Test.
ftp> mget ErrorLog\*.*
200 Type set to A.
mget LogViewer.asp? quit
ftp>
Este é o script real:
open ftp.myserver.com
ftpdemo
pass
lcd C:\Temp\Test
mget ErrorLog\*.*
quit
O que preciso corrigir?
usado PROMPT, agora ele percorre todos os arquivos, mas continua dizendo o seguinte:
200 port command successful
550 "file_name_here": no such file
e o mesmo vale para todos os arquivos no diretório ... ele lista todos os arquivos, então eles estão lá, não tenho idéia do que está errado. Além disso, eu uso a mesma conta que eu uso para o ftp da GUI, e as permissões não devem ser um problema.
Alguma idéia?
aqui está como eu funcionei (graças ao site da dave lozinski ):
open ftp.myserver.com
ftpdemo
pass
lcd C:\Temp\Test
cd /ErrorLog
prompt
mget *.*
quit
basicamente eu só tive que mudar o diretório no servidor.
Talvez ftp -i
resolva o problema.
Esse parâmetro desativa o prompt interativo durante várias transferências de arquivos, que é o aviso que vejo na postagem.
Tags ftp batch-file script