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


Автор: finnish 26.1.2010, 10:21
Исходные данные
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: Могу сформулировать задачу проще - требуется гарантированное перемещение файлов, с последующим удалением исходных.

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