2013-04-21 3 views
2

Я больше привык использовать оболочку unix, чем CMD, и я не совсем уверен, как заставить это работать. У меня есть каталог с несколькими другими подкаталогами, содержащими XML-файлы. Я хотел бы переместить все файлы рекурсивно в корневой каталог. Я знаю, что с UNIX это делается так:Рекурсивно перемещаемые файлы в корневую папку

find FOLDERPATH -type f -name '*.xml' -exec mv -i {} FOLDERPATH \; 

Но я не могу найти что-то, что будет работать таким же образом. XCOPY выглядел многообещающим, но он не копирует только папки, он копирует всю структуру, поэтому я получаю эти подкаталоги, которые я больше не хочу. У кого-нибудь есть другие предложения?

+0

В bash это 'mv -i /folderpath/**/*.xml/something';) – jm666

ответ

0

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

set FOLDERPATH=... 
for /R "%FOLDERPATH%" %%f in (*.xml) do move "%%~ff" "%FOLDERPATH%" 
4

Это будет работать из командной строки CMD. Запустите его в папке, в которую вы хотите перенести файлы, и обработает подкаталоги в этой папке.

Он не обеспечивает механизм для обработки столкновений имен файлов элегантно.

, и это будет работать в пакетном файле.

@echo off 
for /R /D %%f in (*) do move "%%f\*.xml" . 
Смежные вопросы