|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - скрипт для копирования файлов с FTP-сервера |
|
|
CMD/BAT - скрипт для копирования файлов с FTP-сервера
|
Новый участник Сообщения: 6 |
Добрый день. Прошу помощи в написании скрипта .bat.
Описание: есть задача на написание скрипта, который лезет на ftp-сервер 172.30.145.21 по логину master и паролю master123, через прокси-сервер 12.215.220.93, порт 8055, логин gruff и пароль gruff123. Скрипт забирает все папки и файлы с этого сервера и копирует их в каталог C:\Download\Archive\. После этого, скрипт находит в этом каталоге все файлы .xml и выгружает в другой каталог C:\Upload\Archive\. После того как скрипт отаботал, он должен снова зайти на ftp-сервер синхронизировать все каталоги и файлы в каталоге C:\Download\Archive\ и записать в него только разницу. Например скрипт в каталог C:\Download\Archive\ занес каталоги 1,2,3 и файлы 1.xml, 2.xml, а пи следующем запуске занесет только 4,5,6 каталоги и файлы 3.xml, 4.xml. Т.к. каталоги 1,2,3 и файлы 1.xml, 2.xml в каталоге C:\Download\Archive\ уже есть Очень надо. Буду безмено благодарен за помощь!!! |
|
Отправлено: 11:24, 22-12-2020 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата SVK8891:
Цитата SVK8891:
(у меня на сервере папка: "/0/Documents", поставьте свой путь в переменной) и отредактируйте вход: //Mario:Passw@192.168.1.xxx:XX21/ @echo off set "ldir0=C:\Download\Archive" set "ldir1=C:\Upload\Archive" set "sdir=/0/Documents" "C:\Program Files (x86)\WinSCP\WinSCP.com" ^ /command ^ "open ftp://Mario:Passw@192.168.1.xxx:XX21/ -rawsettings ProxyMethod=3 ProxyHost=""12.215.220.93"" ProxyPort=8055 ProxyUsername=""gruff"" ProxyPassword=""gruff123""" ^ "synchronize local %ldir0% %sdir%" ^ "exit" for /f "delims=" %%f in ('dir /a-d/b/s "%ldir0%\*.xml"') do >nul copy "%%f" "%ldir1%" pause& exit /b |
||
Последний раз редактировалось alpap, 23-12-2020 в 01:55. Отправлено: 01:49, 23-12-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 793
|
Если речь о Win10 (>=1603), можно и curl'ом обойтись, чай ведь синхронизация - два снепшота, два притопа.
|
Отправлено: 17:17, 23-12-2020 | #3 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Цитата alpap:
Я хочу его поставить в планировщик, чтобы он отрабатывал и через определенное время запускался снова. А на данный момент, когда он завершается, то ему необходимо нажать клавишу для продолжения |
|
Отправлено: 08:12, 26-12-2020 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать SVK8891, уберите выделенное:
Цитата alpap:
|
||
Отправлено: 09:00, 26-12-2020 | #5 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать alpap, данный скрипт отрабатывает хорошо. Только вот в чем проблема- синхронизация по каталогам проходит, а вот по файлам xml нет. Т.е. он при каждом выполнении копирует старые xml. Можно как то решить проблему?
|
Отправлено: 13:12, 28-12-2020 | #6 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать SVK8891,
скрипт при выполнении: - копирует из "/0/Documents" в "C:\Download\Archive" то чего (в "C:\Download\Archive") нет (это и есть синхронизация сервер->комп) - копирует из "C:\Download\Archive" в "C:\Upload\Archive" все файлы xml что найдет (так написано в условии) что и где конкретно не так работает? |
Отправлено: 15:26, 28-12-2020 | #7 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать возможно ли что бы скрипт проверял в каталоге C:\Download\Archive время создания файла .xml, для того, чтобы он брал новые файлы и копировал в "C:\Upload\Archive".
Например в каталоге C:\Download\Archive лежат .xml за 09.09.20, а последние файлы, которые он синхронизировал из "/0/Documents" от 21.12.20 - и вот эти файлы и копировать в C:\Upload\Archive. |
Отправлено: 08:25, 29-12-2020 | #8 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать SVK8891,
я, честно говоря, не понимаю, а зачем вообще нужна: "C:\Download\Archive"? Чего не синхронизировать напрямую в "C:\Upload\Archive"? Опишите что именно вы выполняете словами. Что должно скачиваться, что с этим (из этого) потом должно происходить. У меня такое впечатление что вы еще сами не придумали задачу как надо и кроите на лету. |
Отправлено: 04:19, 30-12-2020 | #9 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Синхронизация с C:\Download\Archive нужна для того, чтобы в каталог C:\Upload\Archive выгружались только новые файлы xml, у которых срок стоит < 5 дней. Т.е. из C:\Upload\Archive нужно выгружать в C:\Upload\Archive только те xml, которые лежат меньше 5 дней.
|
Отправлено: 13:37, 30-12-2020 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - Умный скрипт для копирования/восстановления избранных файлов | vk_k14m@vk | Скриптовые языки администрирования Windows | 1 | 03-12-2020 01:48 | |
Любой язык - [решено] Скрипт для копирования файлов/папок с заменой | darkAge | Скриптовые языки администрирования Windows | 19 | 01-07-2013 18:06 | |
CMD/BAT - bat-скрипт для массового копирования файлов | akt | Скриптовые языки администрирования Windows | 3 | 02-05-2013 17:26 | |
CMD/BAT - батник для копирования файлов из папки на FTP | zigmund11 | Скриптовые языки администрирования Windows | 1 | 28-02-2013 17:37 | |
Скрипт для копирования файлов с 1 сервера на несколько | andro_id | Программирование в *nix | 2 | 04-09-2008 11:48 |
|