5

В Windows есть ли способ (встроенный или использующий стороннюю программу) для массового перемещения всего содержимого подпапок на уровень? Другими словами, способ избавиться от выбранных подпапок, сохраняя их содержимое? Я хотел бы перейти от:

Folder
  Subfolder1
    File1
  Subfolder2
    File2

Для того, чтобы:

Folder
  File1
  File2

В одном процессе.

5 ответов5

6

Вы можете использовать цикл for в командной строке:

for /r %i in (*) do @move "%i" .

Да, он будет пытаться переместить файлы в текущем каталоге, обратно в текущий каталог, но это не причинит никакого вреда. Убедитесь, что вы запускаете его, находясь в верхней части иерархии, в которую хотите переместить файлы. Запуск этого из другого места будет иметь очень нежелательные последствия.

Если вы хотите запустить его так, чтобы вам не нужно было находиться в определенном каталоге, вы можете ввести пути:

for /r C:\path %i in (*) do @move "%i" "C:\path"

замените C:\path расположением верхнего каталога, в который будут перемещены все файлы. Если вы хотите запустить его в пакетном скрипте, измените переменные, добавив еще один знак процента:

for /r C:\path %%i in (*) do @move "%%i" "C:\path"

удалить все пустые подкаталоги (из cmd):

for /d %i in (C:\path\*) do @rmdir /s /q "%i"

из партии:

for /d %%i in (C:\path\*) do @rmdir /s /q "%%i"
3

Простой способ (в XP) - щелкнуть правой кнопкой мыши корневую папку и выбрать "Поиск", затем не вводить никаких критериев и нажать "Поиск". Результаты поиска будут сводным списком того, что находится в папке и подпапках. Затем вы можете просто перетащить результаты поиска в другую папку, и все файлы будут "удалены" из их папок.

В версиях Windows после XP вы можете добиться того же эффекта, просто введя критерий поиска в поле поиска в правом верхнем углу окна проводника, а затем скопировав результаты в другую папку.

1

Пока много хороших предложений. Вы также можете использовать все. Щелкните правой кнопкой мыши по соответствующей родительской папке, "ищите все". Это даст список, ну, все в папке. Отсюда можно выполнить операции перемещения, возможно, после сортировки по типу файла или включения типа файла в поиск, чтобы исключить папки.

0

Вы можете сделать это, используя командные файлы и команду «переместить».

прочитайте эту тему.

0

Вы можете получить Total Commander, который является условно-бесплатной программой управления файлами, перейти в вашу папку, нажать Ctrl + B (имеется в виду ветвь всех подкаталогов - он отобразит все файлы в этом каталоге и всех подкаталогах), выбрать все и скопировать в нужное место. (т.е. на одну папку выше).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .