Перемещение файлов на FTP в пакетном режиме и удаление исходных файлов

Перемещение файлов на FTP в пакетном режиме и удаление исходных файлов

Мне нужно создать пакетный скрипт для копирования файлов с ПК на FTP-сервер. После копирования - удалить все файлы из источника. А в целевом каталоге перезаписать все существующие файлы.

Я нашел много решений, но не уверен, какое из них лучше всего подходит мне. Например, XCOPYили ROBOCOPYили классический метод с командами типа ftp, cd, copy, mget, ...

ROBOCOPYкажется лучшим вариантом, но я думаю, что он не поддерживает FTP как следует. XCOPYэто старый метод, ...

В конце концов, это будет обычная плановая задача...

Спасибо за ваши советы.

решение1

robocopyи xcopyработать только с локальными файлами.


С помощью ftp, вы можете выполнить загрузку, а затем удалить исходные файлы с помощью локальной delкоманды.

ftp -s:upload.txt
del *.*

Но сложно реализовать это таким образом, чтобы удалялись только файлы, которые были действительно успешно загружены. Пакетный файл выше удалит все файлы, независимо от того, были ли некоторые из них не загружены или были созданы между ftpи del.


Но большинство сторонних FTP-клиентов командной строки могут сделать это легко. Например, с помощьюFTP-клиент WinSCP, вы можете просто использовать следующий пакетный файл (используяputкомандас -deleteпереключателем):

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

Относительно расписания: см.Руководство WinSCP по планированию передач на FTP-сервер.

(Я автор WinSCP)

Связанный контент