powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменять или написать (синхронизация папки с подпапками) ?
6 сообщений из 6, страница 1 из 1
Изменять или написать (синхронизация папки с подпапками) ?
    #39082363
Frankestein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Изначально требовалось синхронизировать одну папку с подпапками. Реализовано было этим методом (код ниже):
private void GetSynhronization(string begin_dir, string end_dir)
{

DirectoryInfo dir_inf = new DirectoryInfo(begin_dir);

foreach (DirectoryInfo dir in dir_inf.GetDirectories())
{


if (Directory.Exists(end_dir + "\\" + dir.Name) != true)
{
Directory.CreateDirectory(end_dir + "\\" + dir.Name);
}

//Рекурсия (перебираем вложенные папки и делаем для них то-же самое).
GetSynhronization(dir.FullName, end_dir + "\\" + dir.Name);

}

//Перебираем файлы в источнике.
foreach (string file in Directory.GetFiles(begin_dir))
{
//Определяем (отделяем) имя файла с расширением - без пути (но с слешем "\").
string filik = file.Substring(file.LastIndexOf('\\'), file.Length - file.LastIndexOf('\\'));

File.Copy(file, end_dir + "\\" + filik, true);
}

}
Источником раньше всегда была папка с подпапками и файлами.
Теперь необходимо добавить еще один путь , но там уже нет подпапок , только файлы.
Метод, естественно, ругается , на то что не может найти папку с файлом.

Вопрос следующий, т.к. я новичок еще, как правильно сделать?

Написать другой метод для папок без подпапок или всё таки можно изменить метод ? Если можно изменить метод, подскажите , пожалуйста.
...
Рейтинг: 0 / 0
Изменять или написать (синхронизация папки с подпапками) ?
    #39082365
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Изменять или написать (синхронизация папки с подпапками) ?
    #39082373
Frankestein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Исправляюсь.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
  private void GetSynhronization(string begin_dir, string end_dir)
        {
            
            DirectoryInfo dir_inf = new DirectoryInfo(begin_dir);
           
            foreach (DirectoryInfo dir in dir_inf.GetDirectories())
            {

                    
                    if (Directory.Exists(end_dir + "\\" + dir.Name) != true)
                    {
                        Directory.CreateDirectory(end_dir + "\\" + dir.Name);
                    }

                    //Рекурсия (перебираем вложенные папки и делаем для них то-же самое).
                    GetSynhronization(dir.FullName, end_dir + "\\" + dir.Name);

            }

           //Перебираем файлы в источнике.
            foreach (string file in Directory.GetFiles(begin_dir))
            {
                //Определяем (отделяем) имя файла с расширением - без пути (но с слешем "\").
                string filik = file.Substring(file.LastIndexOf('\\'), file.Length - file.LastIndexOf('\\'));
                
                File.Copy(file, end_dir + "\\" + filik, true);
            }

        }
...
Рейтинг: 0 / 0
Изменять или написать (синхронизация папки с подпапками) ?
    #39082382
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понятна проблема, если подпапок нет, то цикл
Код: c#
1.
            foreach (DirectoryInfo dir in dir_inf.GetDirectories())

просто не выполнится и все, перейдет сразу к файлам
...
Рейтинг: 0 / 0
Изменять или написать (синхронизация папки с подпапками) ?
    #39082453
Frankestein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Нашел в чем ошибка, она оказалась в другом месте. Я просто тупой/неопытный (нужное выбрать).

Вопрос снят.
...
Рейтинг: 0 / 0
Изменять или написать (синхронизация папки с подпапками) ?
    #39082463
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FrankesteinЯ просто тупой/неопытный (нужное выбрать).Как вы яхту назовете, так она и поплывет (с)

Лучше не настраивать себя на такой лад, больше будет пользы
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменять или написать (синхронизация папки с подпапками) ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]