![]() |
Скрипт копирующий из ftp телефона только новые файлы, нужна помощь !!!
Здравствуйте уважаемые форумчане !!!
Озадачился проблемой бекапа фоток с телефона, суть в том что в определенное время телефон запускает ftp сервер а домашний компьютер должен зайти на него и скачать там новые появившиеся файлы фото\видео. Я нашел скрипт который делает все наоборот он может строить список файлов в двух папках и сравнивать их и недостающие файлы в папке ftp он кидает файлы с компа. Но мне нужно наоборот чтобы на комп скидывались недостающие файлы с ftp на телефоне. Подскажите пожалуйста что переделать в нем ???? @echo on chcp 1251 set SOURCE_FILES="D:\bacups4mini\Camera1\*.*" set DEST_FOLDER="//Camera" set DEST_SERVER=192.168.0.101 2121 set USERNAME=anonymous set USERPASS= rem Составление списка команд для получения списка файлов на ftp echo open %DEST_SERVER%>ftp_cmd.tmp echo %USERNAME%>>ftp_cmd.tmp echo %USERPASS%>>ftp_cmd.tmp echo cd %DEST_FOLDER%>>ftp_cmd.tmp echo ls>>ftp_cmd.tmp echo close>>ftp_cmd.tmp echo bye>>ftp_cmd.tmp rem Получение списка файлов. rem for нужен, чтобы вычистить из протокола все, кроме списка файлов for /f "tokens=* delims=" %%i in ('ftp -s:ftp_cmd.tmp') do call :clearlist "%%i" rem Составление списка команд для отправки файлов на ftp echo open %DEST_SERVER%>ftp_cmd.tmp echo %USERNAME%>>ftp_cmd.tmp echo %USERPASS%>>ftp_cmd.tmp echo cd %DEST_FOLDER%>>ftp_cmd.tmp echo binary>>ftp_cmd.tmp rem Собственно список файлов формируется здесь for %%i in (%DEST_FOLDER%) do call :findfile "%%i" rem Завершение списка команд для отправки файлов на ftp echo close>>ftp_cmd.tmp echo bye>>ftp_cmd.tmp pause rem Собственно отправка, протокол идет на консоль ftp -s:ftp_cmd.tmp rem Удаление временных файлов ::del ftp_cmd.tmp ::del ftp_files.tmp goto eof :findfile find /i "%~n1%~x1" ftp_files.tmp>nul if %errorlevel% == 1 echo put %1>>ftp_cmd.tmp goto eof :clearlist for /f "tokens=1,2* delims= " %%j in (%1) do if "%%j" == "226" set filemode= if not "%filemode%" == "yes" goto next echo %1>>ftp_files.tmp :next for /f "tokens=1,2* delims= " %%j in (%1) do if "%%j" == "150" set filemode=yes :eof |
Цитата:
Цитата:
Код:
@echo off& :Команда "echo off" обязательна! |
Georgio, Огромное тебе Человеческое СПАСИБО !!!! Я всю голову сломал экспериментируя со старым скриптом, а ты мне так помог )))) Спасибо тебе !!!!! Все работает на Ура еще и с отчетами ваще класс !!!
|
Время: 11:50. |
Время: 11:50.
© OSzone.net 2001-