Windows 7 - переместить все подпапки каталога в родительскую папку с помощью cmd

-1

Мне нужно, чтобы все подпапки в дереве каталогов были сведены в один слой папок, а все файлы остались в папке. например:

inside parent folder: -folderA -folderB -file1 -file2 -file3 -folderC -file1 -file2 -file3

к этому:

inside parent folder: folderA -file1 -file2 -file3 folderB -file1 -file2 -file3 folderC

Я могу сделать это вручную, показывая путь к папке и расширяя все, затем перетаскивая одну папку за раз в родительскую папку. Проблема в том, что мне нужно пройти более 25 000 папок, и команда для этого сэкономит немало человеко-часов и ускорит проект. Я видел много вопросов, требующих, чтобы все файлы были извлечены в родительскую папку, но мне нужно, чтобы они были отделены друг от друга и все еще находились в соответствующих папках для целей аудита, поскольку каждый файл помечен именем папки, в которой он был изначально сохранен.

Angelo M
источник
Обратите внимание, что superuser.com не является бесплатным сервисом для написания скриптов / кодов. Если вы сообщите нам, что вы уже пробовали (включая скрипты / код, который вы уже используете) и где вы застряли, тогда мы можем попытаться помочь с конкретными проблемами. Вы также должны прочитать Как мне задать хороший вопрос? ,
DavidPostill

Ответы:

0

Простой пример скрипта PowerShell может выглядеть так:

Get-ChildItem -Directory -Recurse -Path . | %{
    Move-Item $_ C:\Path\To\Parent
}

Это не будет следить за конфликтами имен, и я не уверен, что будет поведение по умолчанию. С 25 000 папок, скорее всего, вы столкнетесь с дублирующимися именами.

Это также предполагает, что ваш график неверен. Исходное предложение означает, что вы сгладите его после перемещения каждого файла на один слой вверх.

Seth
источник
Возможно, я не был достаточно ясен в моем примере. Он должен был показывать папку B и 3 файла в папке A, а папку C и 3 файла в папке B с папкой C, не содержащей никаких файлов. Есть много дубликатов, я подозреваю, вероятно, из сотен. Я сделал выборку из 300 папок, и 67 из них были названы «старые», «старые» или «старые», и все они были бы пойманы как то же, что я себе представляю.
Angelo M
Вы можете сделать свой первый список более понятным, переключая файлы и папки. Прямо сейчас я читаю первый раздел как folderA содержащий каталог и файл 1-3. Если у вас так много дубликатов, вам придется подумать о способах их обработки. Например. вы получаете суффикс или префикс их чем-то.
Seth