
Preciso criar um script em lote para copiar arquivos do PC para o servidor FTP. Após a cópia - exclua todos os arquivos da fonte. E no diretório de destino substitua todos os arquivos existentes.
Encontrei muitas soluções, mas não tenho certeza de qual é a melhor para mim. Por exemplo XCOPY
ou ROBOCOPY
método clássico com comandos como ftp
, cd
, copy
, mget
, ...
ROBOCOPY
parece a melhor opção, mas acho que não suporta FTP direito. XCOPY
é um método mais antigo, ...
Afinal, será uma tarefa agendada normal...
Obrigado por seus conselhos.
Responder1
robocopy
e xcopy
trabalhe apenas com arquivos locais.
Com ftp
, você pode fazer o upload e excluir os arquivos de origem com del
o comando local.
ftp -s:upload.txt
del *.*
Mas é difícil implementar isso de forma que apenas os arquivos que foram carregados com sucesso sejam excluídos. O arquivo em lote acima excluirá todos os arquivos, independentemente de alguns deles terem falhado no upload ou se alguns deles terem sido criados entre os ftp
arquivos del
.
Mas a maioria dos clientes de linha de comando FTP de terceiros pode fazer isso facilmente. Por exemplo, comCliente FTP WinSCP, você pode simplesmente usar o seguinte arquivo em lote (usandoput
comandocom o -delete
interruptor):
winscp.com /ini=nul /log=upload.log /command ^
"open ftp://username:[email protected]/" ^
"put -delete C:\local\source\path\* /remote/target/path/" ^
"exit"
Quanto ao agendamento: ConsulteGuia WinSCP para agendar transferências para servidor FTP.
(Sou o autor do WinSCP)