我比CMD更习惯使用unix shell,我不确定如何让它工作。我有一个目录,其中包含几个包含.xml文件的子目录。我想将所有文件递归移动到根目录。我知道unix这样做是这样的:
find FOLDERPATH -type f -name '*.xml' -exec mv -i {} FOLDERPATH \;
然而,我似乎找不到能以同样方式发挥作用的东西。 XCOPY看起来很有前途,但它不会只复制文件夹,它会复制整个结构,因此我得到了这些我不想要的子目录。有人有任何其他建议吗?
答案 0 :(得分:4)
这将从CMD提示符开始。在您希望将文件移动到的文件夹中运行它,它将处理该文件夹中的子目录。
它没有提供优雅处理文件名冲突的机制。
for /R /D %f in (*) do move "%f\*.xml" .
这将在批处理文件中起作用。
@echo off
for /R /D %%f in (*) do move "%%f\*.xml" .
答案 1 :(得分:0)
试试这个:
set FOLDERPATH=...
for /R "%FOLDERPATH%" %%f in (*.xml) do move "%%~ff" "%FOLDERPATH%"