Форум программистов, компьютерный форум, киберфорум
Администрирование Windows
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
5 / 5 / 2
Регистрация: 28.11.2012
Сообщений: 165
1

Копирование с FTP-сервера каталогов с файлами по заданному списку

03.06.2016, 17:49. Показов 2508. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый! Есть ли быстрореализуемый способ скопировать все каталоги с файлами из заданного списка. В качестве "директории" где будет производиться поиск - должен быть задан ftp сервер доступный в локальной сети или несколько таких серверов:

сервера:
\\Diskstation\ftp_barnaul
\\Diskstation\ftp_omsk
\\Diskstation\ftp_moskow
......

список необходимымых для поиска директорий:
Барнаул объект 1
Омск 2 объект
........
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2016, 17:49
Ответы с готовыми решениями:

Копирование файлов по списку с сохранение структуры каталогов
Добрый день! Подскажите, пожалуйста, пример кода для такой задачи. Имеется текстовый файл txt со...

Копирование файлов с FTP-сервера
Доброго времени суток. имея небольшой багаж знаний в этой области))) создаю небольшой батник для...

Копирование папки с FTP-сервера на локальный диск
Всем доброго времени суток. Кто знает как можно скопировать папку с Ftp на лок диск? (Желательно...

Копирование файла с FTP-сервера на локальный диск
Помогите, пожалуйста, с батником для копирования с fpt на лок диск текстового файла! Добавлено...

10
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
03.06.2016, 19:05 2
Maxfashko,
Есть ли быстрореализуемый способ скопировать все каталоги
Есть, коли к ftp-сервакам вы можете подключится через smb-протокол, то даже не потребуется спец. знаний и ftp-команд.
На powershell кода строк на 15
0
5 / 5 / 2
Регистрация: 28.11.2012
Сообщений: 165
03.06.2016, 20:13  [ТС] 3
v_svitere, я быстрее на плюсах напишу код, чем на powershell

Пример можете подкинуть, раз Вы знаток данного средства?
0
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
06.06.2016, 11:10 4
Лучший ответ Сообщение было отмечено Maxfashko как решение

Решение

Maxfashko,
За основу можете взять вот эту функцию
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function copyftpfile
{
param([Parameter(Mandatory=$true, Position=0)][String]$FTP,
              [Parameter(Mandatory=$true, Position=1)][String]$directoryTOfind,
              [Parameter(Mandatory=$true, Position=2)][String]$directoryTOSave)
              $result=$false
              if (test-path($FTP))
              {
                    $results=gci $FTP -Recurse|where{$_.name -match $directoryTOfind -and $_.PSiscontainer -eq $true}             
                    foreach ($result in $results)
                        {
                            copy-item -recurse -force $result.fullname $directoryTOSave
                            if($? -eq $true){$result=$true}
                        }   
               }
               return $result
}
Запускается так copyftpfile "\\Diskstation\ftp_barnaul" "Барнаул объект 1" "Путь\для\директории\сохранения"
Можете организовать цикл, и использовать в нем для автоматизации
1
5984 / 1993 / 323
Регистрация: 10.12.2013
Сообщений: 6,874
06.06.2016, 14:40 5
предлагаю не ограничиваться FTP, развить успех и реализовать
- доступ к SSH-серверу по SMB
- доступ к WWW-серверу по SMB
- доступ к SMTP-серверу по SMB
- доступ к LDAP-серверу по SMB
0
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
06.06.2016, 16:50 6
volodin661, не совсем понял смысл Вашего поста, к сожалению.
Предложенный вариант удовлетворяет требования самого вопроса, а конкретно
быстрореализуемый способ
.
Кто же спорит, что лучше основательно подойти к этому вопросу, поизучать основы ftp-протокола. Можно накатать полноценное приложение для работы с фтп, используя предназначенные для этого объекты, хоть на c# хоть даже на powershell, однако будет ли это быстрореализуемым способом? Нет увольте.
0
5984 / 1993 / 323
Регистрация: 10.12.2013
Сообщений: 6,874
06.06.2016, 17:25 7
смысл моего поста - ирония,
связанная с неприязнью к жонглированию терминами.

«Вода перекатывалась через мол и падала вниз стремительным домкратом»

Цитата Сообщение от v_svitere Посмотреть сообщение
Есть, коли к ftp-сервакам вы можете подключится через smb-протокол,
1
5 / 5 / 2
Регистрация: 28.11.2012
Сообщений: 165
06.06.2016, 17:35  [ТС] 8
Не переживайте ребята. Работа - разовая, максимум - раз на 5-6. Но файлов ооочень много. Поэтому и быстрореализуемый способ необходим был.
v_svitere, спасибо!
0
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
06.06.2016, 17:45 9
volodin661, пожалуй соглашусь. Не самая лаконичная формулировка.
0
5 / 5 / 2
Регистрация: 28.11.2012
Сообщений: 165
13.06.2016, 22:06  [ТС] 10
v_svitere, Подскажите пожалуйста, что отвечает в Вашем скрипте за "нестрогий поиск директорий" ?
Может скопировать директорию "namespace_boost", даже если ищем только "namespace"

Добавлено через 20 минут
Вроде работает так:
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function copyftpfile
{
param([Parameter(Mandatory=$true, Position=0)][String]$FTP,
              [Parameter(Mandatory=$true, Position=1)][String]$directoryTOfind,
              [Parameter(Mandatory=$true, Position=2)][String]$directoryTOSave)
              $result=$false
              if (test-path($FTP))
              {
                    $results=gci $FTP -Recurse|where{$_.name -eq $directoryTOfind -and $_.PSiscontainer -eq $true}             
                    foreach ($result in $results)
                        {
                            copy-item -recurse -force $result.fullname $directoryTOSave
                            if($? -eq $true){$result=$true}
                        }   
               }
               return $result
}
0
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
14.06.2016, 10:53 11
Maxfashko, Да. Все верно
-eq полное соответствие
-match проверка на содержание
0
14.06.2016, 10:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2016, 10:53
Помогаю со студенческими работами здесь

Копирование (зеркалирование) FTP-сервера на локальный диск компьютера
Копирование (зеркалирование) FTP-сервера на локальный диск компьютера (в какой-то отдельный каталог...

Копирование wav-файлов с FTP-сервера на локальную машину
Возникла проблема следующего рода: Есть ftp_command.txt login psw cd...

Копирование всех каталогов с одним заданным именем из множества неизвестных каталогов
Всем добрый день. Сложилась необходимость создания бекапа определенной папки в пользовательских...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru