Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Перенести все файлы из каталогов/подкаталогов в субпапку, а пустые папки удалить (http://forum.oszone.net/showthread.php?t=308315)

Alexander_88 23-11-2015 07:10 2577924

Перенести все файлы из каталогов/подкаталогов в субпапку, а пустые папки удалить
 
Здравствуйте, подскажите, пожалуйста как решить задачу.

Нужно в главном каталоге, проверить все субпапки, найти в них папки/подпапки, переместить все файлы, находящиеся в этих папках/подпапках в субпапку (в которой мы ищем эти папки/подпапки), а потом удалить из этой субпапки все папки/подпапки (по сути они должны быть уже пустыми, т.к. все файлы оттуда мы переместили).
Также необходимо в главном каталоге не проводить операцию с папкой "MOVER" (т.е. поставить ее в игнор)

Пример:

Код:

F:/folder1/ (в этой папке файлы: (1.jpg, 2.jpg)
F:/folder1/folderA/ (в этой папке файлы: 1.txt, 2.txt)
F:/folder1/folderA/folderX/ (в этой папке файлы: 1.htm, 2.htm)
F:/folder1/folderB/ (в этой папке файлы: 1.doc, 2.doc)

F:/folder2/folderA/ (в этой папке файлы: 1.xml, 2.xml)

F:/MOVER/folderA/ (в этой папке файлы: 1.png, 2.png)

В скрипте мы указываем главный каталог диск F:/
т.е. получается субпапки у нас folder1, folder2, MOVER

После выполнения скрипта должна получиться такая структура:

Код:

F:/folder1/ (в этой папке файлы: 1.jpg, 2.jpg, 1.txt, 2.txt, 1.htm, 2.htm, 1.doc, 2.doc)

F:/folder2/ (в этой папке файлы: 1.xml, 2.xml)

F:/MOVER/folderA/ (в этой папке файлы: 1.png, 2.png)

т.е. остались только субпапки и все файлы из их каталогов/подкаталогов собрались в этих субпапках. Каталоги/подкаталоги всех субпапок удалились после того, как все файлы из них были перемещены в субпапки. Исключение - папка MOVER... в ней ничего не изменилось, не переместилось, не удалилось, т.е. просто эта папка игнорировалась.

Alexander_88 23-11-2015 19:10 2578201

изменил на "Любой язык" :(

Alexander_88 23-11-2015 19:28 2578211

Алгоритм проверки каждой субпапки например такой:

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

c4uran 24-11-2015 14:49 2578463

не совсем то что у вас, но похоже, возможно решение из моей темы вам поможет

http://forum.oszone.net/thread-308328.html

Alexander_88 24-11-2015 20:07 2578575

Спасибо, да не множко не то, но мне уже подсказали решение на BAT


Время: 15:13.

Время: 15:13.
© OSzone.net 2001-