替换多个目录中的文件

时间:2015-01-25 20:03:45

标签: windows batch-file cmd

我有大量的JPEG文件已经排序并放在几个不同的目录中。不幸的是这些目录丢失了 - 虽然我能够从旧版本恢复它们。但是所有文件都已损坏。

幸运的是,我仍然没有排序的JPEG文件,我想用文件名替换这些健康文件的损坏文件。因此,基本上要检查未排序的文件,并将它们与已排序的文件进行匹配。 我发现通过使用命令replace我能够做到这一点并且它完美地运行了一个例外:我一次只能通过1个源目录。这是一个问题,因为未排序的JPEG文件位于~2000个不同的目录中。

我目前正在做的是:

replace "folder1\folder2\folder3\folder4\*.jpg" "sorted_images_dir" /s

我想做的是:

replace "folder1\*EVERY SUBDIRECTORY OF folder1*\*.jpg" "sorted_images_dir" /s

这可以在命令行上使用,还是我必须创建一个批处理文件?如果是的话,对此有何建议?这似乎是一项相当简单的任务。

1 个答案:

答案 0 :(得分:0)

阅读HELP FOR并尝试FOR /D %a in (*) do @echo %a这样您就可以遍历当前目录中的所有文件夹。

然后,您可以尝试FOR /D /R %a in (*) do @echo %a以递归方式迭代所有文件夹和子文件夹。

所以,最后你可以试试

FOR /D /R %a in (*) do @replace "%a\*.jpg" "sorted_images_dir" /s