use*_*999 3 cmd batch-file file-management
与CMD相比,我更习惯使用unix shell,而且我不确定如何使它工作。我有一个目录,其中包含包含.xml文件的其他几个子目录。我想将所有文件递归移动到根目录。我知道使用unix可以这样做:
find FOLDERPATH -type f -name '*.xml' -exec mv -i {} FOLDERPATH \;
Run Code Online (Sandbox Code Playgroud)
但是我似乎找不到能以相同方式工作的东西。XCOPY看起来很有希望,但是它不仅复制文件夹,还复制整个结构,因此我得到了这些我不再想要的子目录。还有其他建议吗?
这将在CMD提示符下工作。在要将文件移动到的文件夹中运行它,它将处理该文件夹中的子目录。
它没有提供一种机制来优雅地处理文件名冲突。
for /R /D %f in (*) do move "%f\*.xml" .
Run Code Online (Sandbox Code Playgroud)
这将在批处理文件中工作。
@echo off
for /R /D %%f in (*) do move "%%f\*.xml" .
Run Code Online (Sandbox Code Playgroud)