Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - ftp синхронизатор (bat)

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


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

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


День добрый. Возникла потребность написания bat файла, выполняющего синхронизацию файлов на фтп сервере с нескольких компьютеров. Поскольку синхронизируемых файлов большое количество (возможно более 200), не имеет смысла заливать их все.

Пример: есть два компьютера: C1 и С2. На С1 есть папка с файлами (допустим С:\reports\), именованными по типу:
User1_blah1.2th
User1_blah2.2th
User2_blah4.2th
User2_blah2.2th
User2_blah4.2th

Файлы начинающиеся с User1 - изменяются только пользователем С1, а файлы User2 - cоответственно пользователем С2 на компьютере С2. При закачке на фтп всего списка файлов, от пользователя С1, на фтп затираются и файлы пользователя С2, даже если они были чуть ранее им обновлены. Было принято решение, сделать отправку, и закачку файлов двумя раздельными bat скриптами (send.bat и get.bat), причем, при отправке c С1 должны отправлятся только файлы пользователей С1 (User1, User3... (пользователей может быть несколько)), а закачиваться только файлы User2, User4, и т.п. соответственно.

Также, на С1, есть папка с профилями, допустим:
С:\profiles\User1.profile.2th
С:\profiles\User3.profile.2th (User3, это не в коем случае никакой не третий компьютер, это просто второй пользователь С1)

В общем:
send.bat
Код: Выделить весь код
:: выводит список всех пользователей в отдельный файл
dir "С:/profiles" /b>C:\prof.txt
:: по идее, должен бы записать в переменную nm имя User1 (но не записывает). Вопрос 1 - как реализовать? И как реализовать, если пользователей больше чем 1 (важно)?
For /F "Delims=." %%I In (C:\prof.txt) Do set nm=%%I
:: тут всё понятно, подготавливает скрипт списка файлов, для отправки на фтп. Вопрос 2 - список файлов полный, что неприемлимо. Надо отправлять только файлы пользователей С1. Как организовать удаление строк начинающихся с User1 (переменная nm) в файле rep.txt (Также, важно и для других пользователей C1, например User3)
dir "С:\reports\" /b>C:\rep.txt 
del /F /Q C:\send.txt 2>nul
for /F "Delims=" %%I in (C:\rep.txt) do echo send "C:\%%I">>C:\send.txt
Имея рабочий send.bat, думаю по его принципу смогу написать и get.bat. Но, тем не менее, был бы очень признателен за помощь в написании и его.. Вопрос опять тот же, как загрузить с фтп файлы с именами User2, отсортировав при этом все файлы все файлы User1.

ps: переименовывать файлы нельзя ни в коем случае, как и пути к ним (рассортировка по папкам), иначе программа отказывается с ними работать.
pss: буду рад комментариям кода, а также другим идеям (может, более простым) выполнения синхронизации, и методам их решения.

Отправлено: 02:55, 29-08-2011

 


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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Подключение к ftp из bat-файла Николя Скриптовые языки администрирования Windows 27 03-04-2017 06:07
CMD/BAT - [решено] программа(.bat файл) которая случайным образом запускает .bat файлы из предложенных gangsterovich Скриптовые языки администрирования Windows 1 07-12-2010 06:45
FTP/File - [решено] Настройка ftp-клиента (Total Commander), если ftp доступно только через http:// Sfero_ID Сетевые технологии 5 06-11-2010 13:46
CMD/BAT - Проблема с FTP через BAT Vebsea Скриптовые языки администрирования Windows 5 10-02-2010 16:16
Передача файлов с ftp на ftp Taipen Вебмастеру 13 27-04-2004 05:15




 
Переход