Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Сетевые технологии > Перемещение файлов с FTP-сервера на компьютер


Автор: finnish 26.1.2010, 10:44
Исходные данные
FTP-сервер login:password@remotehost с открытыми папками Export и Import.
Локальный компьютер на Windows XP с такими же папками в корне диска D:.

Задача
Автоматически перемещать все файлы из удалённого Import'а в локальный Import, и все файлы из локального Export'а в удалённый Export.

Вот что у меня получилось:
Код
@echo off

set HOST=remotehost
set USER=login
set PASS=password
set EXPORT_DIR=D:\Export
set IMPORT_DIR=D:\Import
set EXPORT_FILES=export_files*.xml
set IMPORT_FILES=import_files*.xml
set TEMP=d:\ftp_exchange.tmp

echo %USER%>%TEMP%
echo %PASS%>>%TEMP%
echo prompt>>%TEMP%
echo binary>>%TEMP%
echo cd Export>>%TEMP%
echo !cd %EXPORT_DIR%>>%TEMP%
echo mget %EXPORT_FILES%>>%TEMP%
echo mdelete %EXPORT_FILES%>>%TEMP%
echo cd ..\Import>>%TEMP%
echo !cd %IMPORT_DIR%>>%TEMP%
echo mput %IMPORT_FILES%>>%TEMP%
echo !del %IMPORT_FILES%>>%TEMP%
echo quit>>%TEMP%

cd /D %IMPORT_DIR%
ftp -s:%TEMP% %HOST%
del %TEMP%

Но вот ведь какая проблема - я не могу контролировать то, что файлы действительно были переданы. У меня нет уверенности, что mget и mput выполняться; есть лишь опасения, что файлы, не переместившись, будут удалены.

В командной строке Windows я не силён и проверить перед удалением, передались ли файлы не могу.
Помогите со скриптом. Может кто-то подскажет, как использовать VBS/JS?

PS: Могу сформулировать задачу проще - требуется гарантированное перемещение файлов, с последующим удалением исходных.

Автор: spin2 29.1.2010, 16:10
finnish, а просто rsync использовать? Или обязательно ftp?

Автор: WolfAlone 3.2.2010, 22:42
Доброго времени суток! Конечно, тут много вопросов "почему именно FTP?" и пр... Я бы взял исходники простейшего консольного FTP-клиента, и поправил бы их под свои нужды... *Это если нужен именно FTP.

Если нужна просто синхронизация данных, возможно имеет смысл подыскать оптимальную программу для синхронизации содержимого папок? Например, в программах из серии "BackUp"...

Автор: ZeeLax 9.2.2010, 07:57
Цитата(WolfAlone @  4.2.2010,  01:42 Найти цитируемый пост)
Доброго времени суток! Конечно, тут много вопросов "почему именно FTP?" и пр... Я бы взял исходники простейшего консольного FTP-клиента, и поправил бы их под свои нужды... *Это если нужен именно FTP.

А потом откомпилировал, отдебажил и т.п. Потратил бы кучу времени, не получив никакой выгоды перед скриптами smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)