Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/117: Рейтинг темы: голосов - 117, средняя оценка - 4.85
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533

Скачивание папки с FTP - сервера по актуальной дате

04.10.2018, 09:39. Показов 31616. Ответов 897
Метки ftp, tls (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возможно ли реализовать скачку с фтп папки в которой находятся файлы, папок много, а скачать файлы нужно из той папки, которая названа сегодняшней датой
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2018, 09:39
Ответы с готовыми решениями:

Скачивание папки с FTP - сервера по актуальной дате (2)
Продолжение темы https://www.cyberforum.ru/csharp-net/thread2329455.html var mStr = "20181206_20-15-30.txt"; var dtAr =...

Скачивание папок с FTP-сервера
всем приветик ! подскажите плиииз ! есть батник он подключается к фтп и копирует оттуда файлы все ! open 89.253.247.10 metko ...

Скачивание файла с FTP-сервера
Здравствуйте. Подскажите как загрузить файл с сервера по ftp?

897
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
30.10.2018, 12:20
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Damenikx Посмотреть сообщение
Возвращает имена файлов (с указанием пути к ним) в указанном каталоге. С его помощью мы можем вернуть имена файлов в наш метод.
Что-то я запутался, вы в каком каталоге шаритесь? На ФТП или локальном? Вообще что мы с вами пытаемся сделать?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
30.10.2018, 12:22  [ТС]
На фтп конечно. Я так понимаю, что GetFiles на фтп не канает, да?
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
30.10.2018, 12:31
Цитата Сообщение от Damenikx Посмотреть сообщение
Я так понимаю, что GetFiles на фтп не канает, да?
а как думаете, зачем мы столько мучались?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
30.10.2018, 12:36  [ТС]
Понятно Нам нужно что-то, что будет отправлять имена файлов в метод.

C#
1
public List<string> CurFolderFileNames(string CurFolderPath, FTPSettings Settings)
В прошлый раз мы перебирали строки, а результат добавляли в переменную res.
Затем возвращали res.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
30.10.2018, 12:39
Цитата Сообщение от Damenikx Посмотреть сообщение
Понятно Нам нужно что-то, что будет отправлять имена файлов в метод.
нет конечно. Нам нужен метод, который получит информацию о содержимом папки!
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
30.10.2018, 12:49  [ТС]
Хорошо. Получается так:

1) У нас есть метод который подключается к ФТП-серверу.
2) У нас есть метод который получает информацию об именах файлов.
3) И нам нужен метод, который получит информацию о содержимом папки.

Добавлено через 37 секунд
C#
1
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
30.10.2018, 13:45
Цитата Сообщение от Damenikx Посмотреть сообщение
Хорошо. Получается так:

да не так. Вы вообще что делали последние 3 недели? У вас память есть? Вы вообще читаете что я пишу, или только глядите.
Короче. Все не верно, ищите ответ в этой ветке.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
30.10.2018, 15:28  [ТС]
Хорошо(

Добавлено через 9 минут
ЭЭЭм. У нас же есть уже этот метод.

C#
1
2
3
4
5
public List<string> CurFolderDirectoryDetails (string CurFolderPath, FTPSettings Settings)
{
var ftp = Settings.RequestToDirectoryDetails(Settings.FTPAdress + CurFolderPath);
return CurFolderDirectoryDetails(ftp);
}
Добавлено через 1 час 16 минут
Подумав, я переписал немного метод получения имени файлов.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public List<string> CurFolderFileNames(string CurFolderPath)
        {
            var res = new List<string>();
            foreach (var parseFiles in CurFolderFileNames(CurFolderPath))
            {
                var Sarr = parseFiles.ToString().Split(new char[] { char.Parse(" ") }, StringSplitOptions.RemoveEmptyEntries);//убираем пустые строки
                if (Sarr.ToString().Length > 8 && Sarr[8].Contains("."))
                {
                    res.Add(Sarr[8]);
                }
            }
            return res;
        }
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
30.10.2018, 16:11
Цитата Сообщение от Damenikx Посмотреть сообщение
Подумав, я переписал немного метод получения имени файлов.
Хорошо, это тот результат который вы хотели получить?

Добавлено через 2 минуты
судя по всему нет, а получили вы бесконечную рекурсию. По крайней мере судя по написанному коду:
Цитата Сообщение от Damenikx Посмотреть сообщение
public List<string> CurFolderFileNames(string CurFolderPath)
* * * * {
* * * * * * var res = new List<string>();
* * * * * * foreach (var parseFiles in CurFolderFileNames(CurFolderPath))
* * * * * * {
* * * * * * * * var Sarr = parseFiles.ToString().Split(new char[] { char.Parse(" ") }, StringSplitOptions.RemoveEmptyEntries);//убираем пустые строки
* * * * * * * * if (Sarr.ToString().Length > 8 && Sarr[8].Contains("."))
* * * * * * * * {
* * * * * * * * * * res.Add(Sarr[8]);
* * * * * * * * }
* * * * * * }
* * * * * * return res;
* * * * }
не правильно!!!
Цитата Сообщение от Damenikx Посмотреть сообщение
public List<string> CurFolderDirectoryDetails (string CurFolderPath, FTPSettings Settings)
{
var ftp = Settings.RequestToDirectoryDetails(Setti ngs.FTPAdress + CurFolderPath);
return CurFolderDirectoryDetails(ftp);
}
Это то на что я вас подталкивал...
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
30.10.2018, 16:40  [ТС]


Зациклил. Мозгов нет - считай калека

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

Добавлено через 1 минуту
Я так понимаю, мне нужно "пропарсить" строки. Я исходя из этого и делал метод, который зациклил

Добавлено через 30 секунд
Буду дальше мучиться Спасибо!

Добавлено через 7 минут
Хотел у Вас спросить. По поводу параметров. Если мы в методе указываем 2 параметра, то при вывозе этого метода мы указываем его так же с двумя параметрами, правильно?

Добавлено через 15 минут
C#
1
foreach (var parseFiles in CurFolderDirectoryDetails(CurFolderPath, второй параметр не понимаю, что надо))
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
30.10.2018, 16:42
Цитата Сообщение от Damenikx Посмотреть сообщение
Хотел у Вас спросить. По поводу параметров. Если мы в методе указываем 2 параметра, то при вывозе этого метода мы указываем его так же с двумя параметрами, правильно?
все правильно, с одной тонкостью, важно что-бы ваш метод принимал не только количество параметров но и типы и их порядок, вспоминаем я вам про перегрузку, специально поменял местами параметры. Не ленимся нажимать на ссылочки, и повторно читать пост!

Добавлено через 40 секунд
Цитата Сообщение от Damenikx Посмотреть сообщение
CurFolderDirectoryDetails(CurFolderPath, второй параметр не понимаю, что надо))
а что там надо?

Добавлено через 1 минуту
Цитата Сообщение от Damenikx Посмотреть сообщение
public List<string> CurFolderFileNames(string CurFolderPath, FTPSettings Settings)
Вы вообще думаете что и зачем делаете, вы в шахматы играете?
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
30.10.2018, 16:52  [ТС]
Да, играю, но редко

Добавлено через 3 минуты
С параметрами я понял, я уточняю, на всякий случай.

Явно я что-то не рпвильно понимаю.

Если у нас есть 2 метода. Один метод, который получает детальную информацию о файлах лежащих в текущей папке на фтп и метод с перегрузкой. Теперь надо сделать этот метод, который получает название файлов из текущей папки. Всё верно?

Добавлено через 4 минуты
Я попробую разложить свои мысли. Может у меня неправильное понимание всего этого и поэтому всё с ног на голову.

Раз у нас есть два этих метода, получается, нам надо из метода CurFolderDirectoryDetails вытянуть ту часть которая отвечает за имена.

Создаём метод с параметром:
C#
1
public List<string> CurFolderFileNames(string CurFolderPath)
Теперь мне надо создать переменную в которую я буду заносить то, что получу.

C#
1
var res = new List<string>();
Теперь мне надо вытянуть информацию из метода, который получает детальную информацию о файлах в текущей папке.

C#
1
foreach (var dt in CurFolderDirectoryDetails())
Пока всё верно? Именно мысли, а не код.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
30.10.2018, 16:56
Цитата Сообщение от Damenikx Посмотреть сообщение
Явно я что-то не рпвильно понимаю.
вот именно так вы понимаете.

Шаг первый: Подготовить настройки (имя пользователя пароль и имя сервера)
Шаг второй: Запросить по нужному адресу с нужной настройкой детальную информацию о содержимом папки
Шаг третий: Получить имена файлов из папки указанной по адресу
Шаг четвертый: Отобразить пользователю содержимое папки.
Это ваш алгоритм?

Добавлено через 2 минуты
Цитата Сообщение от Damenikx Посмотреть сообщение
Пока всё верно? Именно мысли, а не код.
Последовательность верная (В правильном направлении товарищи гребете, но не забывайте про подводные течения и ветры, а то поплывете в Париж, приплывете в жопу в Гондурас).
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
30.10.2018, 16:59  [ТС]
Я туплю на четвёртом шаге. Точнее я вообще туплю, но особенно туплю на четвёртом)))
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
30.10.2018, 17:28
Цитата Сообщение от Damenikx Посмотреть сообщение
Я туплю на четвёртом шаге. Точнее я вообще туплю, но особенно туплю на четвёртом)))
до него вы еще не добрались, вы еще не получили ответ от второго шага, поэтому вам кажется что вы не можете работать с четвертым, по секрету скажу, вам не кажется, вы действительно не можете, потому что еще не прошли второй шаг, и не перешли к третьему. А через шаг, не получится!
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
30.10.2018, 17:33  [ТС]
Как так? Мы же прошли метод получения детальной информации из текущей папки на фтр

Добавлено через 13 секунд
Я совсем запутался
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
30.10.2018, 17:36
Цитата Сообщение от Damenikx Посмотреть сообщение
Как так? Мы же прошли метод получения детальной информации из текущей папки на фтр
ну, а ты его в методе для получения имен файлов используешь?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
30.10.2018, 19:37  [ТС]
Хорошо. Я запутался вовсе. Давайте попробую по чуть-чуть. Раз я не закончил второй шаг, что мне делать сейчас?

Добавлено через 42 секунды
Логично, что второй шаг.

Не по теме:

Чудеса дедукции



Но я не пойму почему он не сделан?

Добавлено через 1 час 4 минуты
По второму шагу у нас есть метод, который получает детальную информацию о файлах в текущей папке:

C#
1
public List<string> CurFolderDirectoryDetails(string CurFolderPath, FTPSettings Settings)
Теперь нам нужен метод, который будет вытягивать из метода CurFolderDirectoryDetails имена этих файлов. Это и будет второй шаг?

Добавлено через 13 минут
Может быть так?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public List<string> CurFolderFileNames(string CurFolderPath, FTPSettings Settings)
        {
            var settings = new FTPSettings();
            var res = new List<string>();
            foreach (var dt in CurFolderDirectoryDetails(CurFolderPath, settings))
            {
                var Sarr = dt.Split(new char[] { char.Parse(" ") }, StringSplitOptions.RemoveEmptyEntries);
                if (Sarr.ToString().Length > 8 && Sarr[8].Contains("."))
                {
                    res.Add(Sarr[8]);
                }
            }
            return res;
        }
Добавлено через 31 минуту
ПОЛУЧИЛОСЬ!!! ЙУХУ!!!

Не знаю правильно работает или нет, но получилось =)

Добавлено через 1 минуту

Не по теме:

Испытал оргазм

0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
31.10.2018, 08:53
Цитата Сообщение от Damenikx Посмотреть сообщение
Не знаю правильно работает или нет, но получилось =)
для того что-бы такое понимать, нужно освоить тестирование.

Добавлено через 55 секунд
Цитата Сообщение от Damenikx Посмотреть сообщение
Sarr.ToString().Length
ну нельзя вас похвалить, что это и зачем???

Добавлено через 32 секунды
в частности
Цитата Сообщение от Damenikx Посмотреть сообщение
(Sarr.ToString().Length > 8
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
31.10.2018, 09:03  [ТС]
День добрый!
Это огрызки безысходности, уже убрал

Добавлено через 29 секунд
Вчера сделал вывод в listBox, работает

Добавлено через 4 минуты
Теперь можно похвалить?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.10.2018, 09:03

Скачивание файла с ftp сервера
Привет! Решил попробовать написать систему обновления для своей программы. Есть вот такая идея: создать сайт и вручную залить по ftp на...

Скачивание каталога с FTP сервера
Доброго времени суток. Работаю с FTP сервером в C# при помощи библиотеки BytesRoad.Net.Ftp. Появилась необходимость скачивать ВЕСЬ каталог...

Скачивание файлов с FTP сервера на локальный ЖД
Здравствуйте. Возникла проблема, возможно глупая и её решение должно быть элементарным, но всё же :) Добавлено через 9 минут ...

Скачивание файла с FTP-сервера с использованием Wget
Доброго времени суток! Задача - необходим батник чтобы он: 1. Скачивал необходимый файл с ftp(хранилище можем подобрать иное) 2....

Скачивание папки с удаленного сервера
WebClient wb = new WebClient(); wb.DownloadFile(&quot;https://cloud.mail.ru/public/46F4/Eqhw66Kb2&quot;, @&quot;C:\test\sandbox&quot;); Вот такой код...


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

Или воспользуйтесь поиском по форуму:
580
Закрытая тема Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru