Войти

Показать полную графическую версию : [решено] Помогите с написанием батника копирования с FTP по условиям.


alexuvv
21-06-2011, 10:08
Я новичок и мне требуется помощь в написании батника.
Суть ее в том, чтобы:
Зайти на FTP сервер,
Создать список файлов имеющиеся на локальной машине в определенной папке,
Сравнить эти файлы с файлами FTP папкой,
Скопировать с FTP только новые,
Проверить скопированные файлы,
После по списку скопированные удалить.

И вот что сделано:
dir *.* c:\Bat\FTPCopyFilles2.txt /b
бат: ftp -s:ftpcommand.ftp -i

команды: ftpcommand.ftp
open ftp
name
password
binary
сd \in
lcd C:\1
mget *.* /Y
Как их сравнить, чтобы скопировать только новые и удалить только скопированные файлы?
dir *.* c:\Bat\FTPCopyFilles2.txt /b
bye
quit

Заранее БЛАГОДАРЕН!

amel27
22-06-2011, 03:46
как их сравнить, чтобы скопировать только новые или измененные файлы и удалить только скопированные файлы? »зависит от формата вывода (команды DIR) удалённого FTP-сервера
с локальным DIR проблемы нет если его выполнять после FTP.EXE

alexuvv
22-06-2011, 07:56
Цитата amel27:
зависит от формата вывода (команды DIR) удалённого FTP-сервера с локальным DIR проблемы нет если его выполнять после FTP.EXE

Хорошо, теперь имеется список файлов скопированных с ФТП в текстовом формате. Как задать условие так, чтобы все файлы кроме файлов списка были скопированы, т.е. новые файлы, не вошедшие в этот список?

amel27
22-06-2011, 16:34
Как задать условие так, чтобы все файлы кроме файлов списка были скопированы, т.е. новые файлы, не вошедшие в этот список? »т.к. это задача сравнения двух списков (тынц (http://forum.oszone.net/showthread.php?t=181772), тынц (http://forum.oszone.net/showthread.php?t=199050) и тынц (http://forum.oszone.net/showthread.php?t=145215)), нужны примеры исходных данных:

1. результат вывода DIR с FTP в файл (который парсить)... а заодно и
2. список, с которым сравнивать

alexuvv
24-06-2011, 05:53
т.к. это задача сравнения двух списков (тынц, тынц и тынц), нужны примеры исходных данных, есть ли какие-нибудь разграничения одних команд от других, последовательность выполнения.
1. результат вывода DIR с FTP в файл (который парсить)... а заодно и
2. список, с которым сравнивать

БОЛЬШОЕ, ГРОМАДНОЕ СПАСИБО AMEL27!
У меня еще вопросик:
1) Можно ли это все объединить в один батник и как это сделать, есть ли какие-нибудь разграничения одних команд от других, последовательность выполнения.
Например:
А) Входит на ФТП и создает текстовый файл перечень файлов.
Б) Входит на локальный диск и создает текстовый файл перечень файлов.
В) Делает проверку на наличие новых файлов и создает файл изменений.
Г) Заходит на ФТП копирует файлы по изменениям.
Д) Делает копию файлов в определенное место и раскидывает файлы по расширениям в определенные папки
Е) Создает новый файл из папки копи.
Ё) Заходит и удаляет по списку файлы с ФТП.

2) Можно ли сделать сравнение файлов только по датам и размеру, если имена файлов будут одинаковые?
Например:

Файл 1
-rw-rw-rw- 1 user group 839164 Jun 17 17:31 AAA.pdf
-rw-rw-rw- 1 user group 770743 Jun 17 17:31 BBB.pdf
-rw-rw-rw- 1 user group 767941 Jun 17 17:31 CCC.pdf

Файл 2
-rw-rw-rw- 1 user group 839164 Jun 17 17:31 AAA.pdf
-rw-rw-rw- 1 user group 770743 Jun 17 17:31 BBB.pdf
-rw-rw-rw- 1 user group 768000 Jun 19 18:31 CCC.pdf

amel27
24-06-2011, 08:20
А) Входит на ФТП и создает текстовый файл перечень файлов. »
примерно так:@echo off
(echo anonymous
echo pass@mail.ru
echo binary
echo cd \Products
echo dir
echo bye
)>"%~n0.ftp"
ftp -i -s:"%~n0.ftp">"%~n0.dir" ftp.microsoft.com.FTP-файл - скрипт подключения
.DIR-файл - лог работы, включая список файлов (формат зависит от движка сервера)




© OSzone.net 2001-2012