Как переместить из директории подпапки в существующую папку :)

udder

Client
Регистрация
28.03.2017
Сообщения
600
Благодарностей
119
Баллы
43
Привет всем .!.
Есть директорию folder
в ней folder1
folder2
folder3
////
Мне нужено из folder переместить все подпапки c содержимым в папку documents
Как это делать?
Стандартным кубиком не получится, т.к я перемещаю в documents, папка которая уже !существует!
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 516
Благодарностей
8 703
Баллы
113
Не должно быть коллизий, если подпапки folder номерные и изначально папок с таким именем не существует в documents, попробуйте еще раз.
 

udder

Client
Регистрация
28.03.2017
Сообщения
600
Благодарностей
119
Баллы
43
Не должно быть коллизий, если подпапки folder номерные и изначально папок с таким именем не существует в documents, попробуйте еще раз.
82286


Папки с файлами в директории Перенести отсюда
82287


В директорию Перенести сюда не появляются. Папок там нет никаких.
 

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
632
Благодарностей
543
Баллы
93
C#:
string MainPath = @"C:\Users\Sleep\Desktop\folder";
string MovePath = @"C:\Users\Sleep\Desktop\documents";
var lst = new List<string>();
lst.AddRange(Directory.GetDirectories(MainPath));
foreach (var s in lst) Directory.Move(s, Path.Combine(MovePath, Path.GetFileName(s)));
 
  • Спасибо
Реакции: udder

udder

Client
Регистрация
28.03.2017
Сообщения
600
Благодарностей
119
Баллы
43
C#:
string MainPath = @"C:\Users\Sleep\Desktop\folder";
string MovePath = @"C:\Users\Sleep\Desktop\documents";
var lst = new List<string>();
lst.AddRange(Directory.GetDirectories(MainPath));
foreach (var s in lst) Directory.Move(s, Path.Combine(MovePath, Path.GetFileName(s)));
То что нужно, главное условие, чтобы куда переносим, там не было папки с таким же названием :-) жаль что код это не игнорирует, например, если папка с именем уже есть
Выполнение действия CSharp OwnCode. Невозможно создать файл, так как он уже существует.
а можно вывести какая папка уже существует? и удалить ее например или перезаписать?) @Ilshakin
 

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
632
Благодарностей
543
Баллы
93
C#:
string MainPath = @"C:\Users\Sleep\Desktop\folder";
string MovePath = @"C:\Users\Sleep\Desktop\documents";
var lst = new List<string>();
lst.AddRange(Directory.GetDirectories(MainPath));
foreach (var s in lst) {
    if (Directory.Exists(Path.Combine(MovePath, Path.GetFileName(s)))) Directory.Delete(Path.Combine(MovePath, Path.GetFileName(s)), true);
    Directory.Move(s, Path.Combine(MovePath, Path.GetFileName(s)));
}
 
  • Спасибо
Реакции: udder

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 516
Благодарностей
8 703
Баллы
113
  • Спасибо
Реакции: udder

one

Client
Регистрация
22.09.2015
Сообщения
6 796
Благодарностей
1 264
Баллы
113

udder

Client
Регистрация
28.03.2017
Сообщения
600
Благодарностей
119
Баллы
43
т.е. перезапись существующие папки не работает как положено?
ну конкртено экшен директории - > Переместить вообще никак не работает, если папапка уже существует, даже если пустая :-)
@Ilshakin

Отличный снипет https://zennolab.com/discussion/threads/kak-peremestit-iz-direktorii-podpapki-v-suschestvujuschuju-papku.95671/post-639853
теперь не прерывается работа, если папка существует в директории назначения, теперь она удаляется, а вместо удаления, в случае совпадения имен, можно переместить файлы в нее, т.е как бы дополнить файлами..
 
  • Спасибо
Реакции: Sergodjan

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)