3

我更习惯于使用 unix shell 而不是 CMD,我不确定如何让它工作。我有一个目录,其中包含其他几个包含 .xml 文件的子目录。我想将所有文件递归移动到根目录。我知道用 unix 这样做是这样的:

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

然而,我似乎找不到能以同样方式工作的东西。XCOPY 看起来很有希望,但它不只复制文件夹,它复制整个结构,因此我得到了这些我不想要的子目录。有没有人有任何其他建议?

4

2 回答 2

5

这将在 CMD 提示符下工作。在要将文件移动到的文件夹中运行它,它将处理该文件夹中的子目录。

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

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

这将在批处理文件中工作。

@echo off
for /R /D %%f in (*) do move "%%f\*.xml" .
于 2013-04-22T03:39:55.390 回答
0

尝试这个:

set FOLDERPATH=...
for /R "%FOLDERPATH%" %%f in (*.xml) do move "%%~ff" "%FOLDERPATH%"
于 2013-04-21T18:39:30.367 回答