递归地将文件移动到根目录

3

我更习惯使用Unix Shell而不是CMD,我不太确定如何使其正常工作。我有一个目录,其中包含多个其他子目录,这些子目录包含.xml文件。我想将所有文件递归地移动到根目录下。我知道在Unix中可以这样做:

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

然而我似乎找不到以同样方式工作的东西。XCOPY看起来很有前途,但它不仅复制文件夹,还复制整个结构,因此我会再次得到这些不需要的子目录。有人有其他建议吗?


在bash中,它是mv -i /folderpath/**/*.xml /somewhere ;) - clt60
2个回答

5

这将在CMD提示符中运行。在您希望将文件移动到的文件夹中运行它,它将处理该文件夹中的子目录。

它没有提供一种优雅地处理文件名冲突的机制。

for /R /D %f in (*) do move "%f\*.xml" .

这将在批处理文件中起作用。
@echo off
for /R /D %%f in (*) do move "%%f\*.xml" .

0

试试这个:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接