2016-03-22 4 views
-1

У меня есть эта структура папок:Вставка каталога в пути для всех каталогов в папке

mainDir 
----dira 
--------(files/folders) 
----dirb 
--------(files/folders) 
----dirc 
--------(files/folders) 
... 
... 
... 
----dirz 
--------(files/folders) 

Я хочу проходным всех каталогов под mainDir, создайте папку с именем xyz в каждой директории под dirMain и переместить все содержимое от dir# (где # есть a, b ... z) до xyz (под соответствующим режком).

Результат будет выглядеть следующим образом:

mainDir 
----dira 
--------xyz 
------------(files/folders) 
----dirb 
--------xyz 
------------(files/folders) 
----dirc 
--------xyz 
------------(files/folders) 
... 
... 
... 
----dirz 
--------xyz 
------------(files/folders) 

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

+0

Да, это возможно. Что вы пробовали самостоятельно? Где вы застряли? – aschipfl

+0

До сих пор я пытался найти, как это сделать, без необходимости писать отдельный набор команд для каждой папки и повторять для других папок. Застрял, ничего не мог найти. Никогда не пишете что-то подобное раньше. Поэтому у вас нет кода для обмена, если это то, что вы ожидаете. – AndroidMechanic

ответ

2

Просто выполните шаги, которые вам нужно выполнить в каждой папке. Вы можете использовать подстановочные знаки для большого количества MOVE или RENAME для набора файлов. Но папки должны быть MOVEd или RENAMEd индивидуально.

  • Создать А папки,
  • Переместить все файлы в хуге папку
  • Перемещения каждой подпапка (кроме А) в папку хуга

Затем выполните эти шаги для каждой папки с помощью FOR/цикл D ,

@echo off 
for /d %%F in (main\*) do (
    pushd "%%F" 
    md "xyz" 
    move * "xyz" >nul 
    for /d %%G in (*) do if "%%G" neq "xyz" move "%%G" "xyz" >nul 
    popd 
) 
+0

Спасибо! Я попробую это и обновить через несколько часов ... – AndroidMechanic

+0

, который работал как шарм. Большое спасибо! – AndroidMechanic