2011-01-14 5 views
1

У меня есть структуры каталогов, как так:Переместить вложенные файлы в корневой каталог в DOS

C:\mydir\foo\a.zip 
C:\mydir\foo\b.zip 
C:\mydir\bar\c.zip 
C:\mydir\baz\d.zip 

Я хотел бы, чтобы переместить все файлы в C:. \ MYDIR \ * \ * застежка-молния в C: \ MYDIR так структура вывода будет:

C:\mydir\a.zip 
C:\mydir\b.zip 
C:\mydir\c.zip 
C:\mydir\d.zip 

... с лишними пустыми папками потенциально все еще присутствует. Как это сделать, используя только командную строку DOS?

+0

Вот несколько сглаженных скриптов ... не пробовали их сами, но стоит опубликовать здесь, если вы работаете для вас: http://www.petri.co.il/forums/showthread.php?t= 24778 – harpo

ответ

3

Попробуйте это:

CD /D C:\mydir 
FOR /f "delims=" %a IN ('DIR *.zip /s /b') DO MOVE "%a" . 

Это первый изменяет каталог на C:\mydir. В DIR перечислены все zip-файлы в подкаталогах с именами файлов. FOR гарантирует, что каждая строка переходит в переменную %a. MOVE в основном перемещает каждый файл, найденный в текущий каталог, то есть C:\mydir.

Смежные вопросы