batch-file - 递归移动文件到根文件夹

标签 batch-file cmd file-management

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

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

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

最佳答案

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

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

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

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

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

关于batch-file - 递归移动文件到根文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16134508/

相关文章:

windows - 退出批处理时自动重启批处理文件

variables - 批处理脚本中变量中的转义字符

php - 如何使用批处理脚本清除文件内容

Windows 启动命令对 EXE 和 BAT 的处理方式不同,后者存在缺陷

ios - 有没有办法强制ios系统清除部分(或全部)应用程序的缓存?

python - 下载的 python 包构建后,如何处理 test/docs/readme 文件?

php - 如何从 PHP 中运行 .cmd 文件并显示结果

batch-file - 合并不带标题的 CSV 文件

batch-file - 当他省略扩展名 .exe 以终止进程时,如何检查和更正用户输入?

c++ - Xcode iPhone : Removing text from a . txt 文件