Переместить вложенные файлы в корневой каталог в DOS - PullRequest
1 голос
/ 14 января 2011

У меня есть такие структуры каталогов:

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

Я бы хотел переместить все файлы в C: \ mydir \ * \ *. Zip в C: \ mydir, чтобы структура вывода была такой:

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

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

1 Ответ

3 голосов
/ 14 января 2011

Попробуйте:

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

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

...