Mover arquivos para FTP em arquivo em lote e excluir arquivos de origem

Mover arquivos para FTP em arquivo em lote e excluir arquivos de origem

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 XCOPYou ROBOCOPYmétodo clássico com comandos como ftp, cd, copy, mget, ...

ROBOCOPYparece 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

robocopye xcopytrabalhe apenas com arquivos locais.


Com ftp, você pode fazer o upload e excluir os arquivos de origem com delo 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 ftparquivos 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 (usandoputcomandocom o -deleteinterruptor):

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)

informação relacionada