Mover archivos a FTP en archivos por lotes y eliminar archivos de origen

Mover archivos a FTP en archivos por lotes y eliminar archivos de origen

Necesito crear un script por lotes para copiar archivos desde la PC al servidor FTP. Después de copiar, elimine todos los archivos del origen. Y en el directorio de destino sobrescriba todos los archivos existentes.

Encontré muchas soluciones, pero no estoy seguro de cuál es la mejor para mí. Por ejemplo XCOPYo ROBOCOPYmétodo clásico con comandos como ftp, cd, copy, mget, ...

ROBOCOPYParece la mejor opción, pero creo que no es compatible con FTP. XCOPYes un método más antiguo, ...

Después de todo, será una tarea programada regularmente...

Gracias por tus consejos.

Respuesta1

robocopyy xcopytrabajar solo con archivos locales.


Con ftp, puede cargar y luego eliminar archivos fuente con delel comando local.

ftp -s:upload.txt
del *.*

Pero es difícil implementar esto de manera que solo se eliminen los archivos que realmente se cargaron exitosamente. El archivo por lotes anterior eliminará todos los archivos, sin importar si algunos de ellos no se pudieron cargar o si algunos de ellos se crearon entre ftpy del.


Pero la mayoría de los clientes de línea de comandos FTP de terceros pueden hacerlo fácilmente. Por ejemplo, conCliente FTP WinSCP, simplemente puede usar el siguiente archivo por lotes (usandoputdominiocon el -deleteinterruptor):

winscp.com /ini=nul /log=upload.log /command ^
    "open ftp://username:[email protected]/" ^
    "put -delete C:\local\source\path\* /remote/target/path/" ^
    "exit"

Respecto a la programación: VerGuía WinSCP para programar transferencias al servidor FTP.

(Soy el autor de WinSCP)

información relacionada