Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник с условием копирвоания новых файлов по фтп.

Ответить
Настройки темы
CMD/BAT - Батник с условием копирвоания новых файлов по фтп.

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ребят помогите пожалуйста, чет не могу сообразить как написать данный батник.
вот что есть:

@echo off
start /min ftp.exe -s:d:\ftp_cmd.txt

Содержимое ftp_cmd.txt :

open 10.6.0.4
ххх
ххх

cd /jr/ххх
lcd d:\ххх
prompt
mput *.rar

quit

Отправлено: 10:53, 15-12-2010

 

Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


немного лирики:

Вопрос сложный - разные FTP сервера немного по-разному выдают список файлов, в добавок там излишние преобразования в зависимости от даты файла отностительно текущей... лично я в похожей задаче отказался пользовать команду LS для сравнения файлов и сделал примитивно - для каждого успешно выгруженного файла (ftp.exe завершился без ошибок) создавал в отдельном каталоге одноименный файлик с датой выгрузки. При следующем сеансе проверял все файлы в папке и выгружал только те, что не были найдены в т.н. логе.

В дальнейшем хотел упростить проверку за счет использования лог-файла (вместо создания файликов с датами), но руки "не дошли", ибо пока работает древний скриптик, что-либо мутить было лень.

Код: Выделить весь код
@Echo Off
set home=%CD%

rem Turn ON Variable extensions
set log=.
for %%f in (.) do set log=!log!%%f
if %log%==.. goto L00
if "%1"=="Take2" (
echo Err: Variable extensions not supported!
goto Exit
)
%COMSPEC% /E:ON /V:ON /C %0 Take2
goto Exit

:L00
set src=B:\
set wrk=%CD%\SyncList
set msk=*.TIB
set log="%CD%\Sync.log"
set ftc="%CD%\Sync.ftp"

net use b: \\192.168.0.8\BackUp

if not exist "%wrk%" md "%wrk%" >Nul
cd "%src%"
%src:~0,2%

rem Search File to transfer
:L01
set tm=%time::=-%
set tm=%date:~6,4%-%date:~3,2%-%date:~0,2% %tm:~0,-3%
del /f %ftc%>Nul
set fn=.
for %%f in (%msk%) do if not exist "%wrk%\%%f" if "!fn!"=="." set fn=%%f
if "%fn%"=="." Goto Exit


echo.
echo.
echo =====================
echo  %tm% %fn%
echo =====================
echo open xxx.xxx 21>%ftc%
echo login>>%ftc%
echo pass>>%ftc%
echo binary>>%ftc%
echo cd KV>>%ftc%
echo put %fn%>>%ftc%
echo bye>>%ftc%
echo.>>%log%
echo ===v.20090514===================>>%log%
echo %tm% %fn%>>%log%

"%home%\ftps" -resume -quiterror -s:%ftc% >%TEMP%\FTP.LOG
set ErrN=N%ErrorLevel%
set tm=%time::=-%
set tm=%date:~6,4%-%date:~3,2%-%date:~0,2% %tm:~0,-3%

rem echo %ErrN%
rem echo %fn%
rem pause

if "%ErrN%"=="N0" (
Echo %tm% Done>>%log%
Echo Done at %tm%>>"%wrk%\%fn%"
) else (
Echo %tm% Error %ErrN%>>%log%
type %TEMP%\FTP.LOG >>%log%
)
echo ================================>>%log%
echo.>>%log%

Goto L01

:Exit
cd "%home%"
%home:~0,2%
if exist B:\ net use b: /d /y

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 17:50, 15-12-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо буду пробовать, завтра отпишусь.

Отправлено: 20:10, 15-12-2010 | #3


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Неподошел ваш вариант, больше решений нет ?

Отправлено: 10:02, 18-12-2010 | #4


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


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

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 18:48, 27-12-2010 | #5


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Условия следующие в папке на сервере лежат картинки формата gif их необходимо копировать только при условии что они новые, т.е условие смотрит на дату.

Отправлено: 09:48, 29-12-2010 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник с условием копирвоания новых файлов по фтп.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Копирование новых файлов Доктор Ливси Скриптовые языки администрирования Windows 1 08-11-2010 12:37
CMD/BAT - батник подключения к фтп anatoly_neo Скриптовые языки администрирования Windows 0 20-02-2009 13:39
перекидывание файлов:ФТП +.....? rivera Программное обеспечение Windows 4 12-07-2007 06:56
Появление новых файлов ummnikk Хочу все знать 9 26-10-2005 05:32
Проверка новых файлов налету, чем? sash minsk Защита компьютерных систем 5 03-06-2005 16:46




 
Переход