合并多个文件夹并保留最新文件?

合并多个文件夹并保留最新文件?

我有 102 个目录,我想将它们合并为一个目录。如果存在冲突,我想使用最新的文件。

我怎样才能做到这一点?

之前我尝试过搜索文件夹然后将它们复制到同一个父目录中,由于我想要合并的目录有相同的名称,所以它会询问我是否要合并它们。但是它没有自动保留最新文件的选项。

答案1

您可以使用命令行执行此操作:

find orig/ -type f  -exec cp -u -a \{\} dest/ \;

其中 orig 是包含要平铺和复制的内容的目录,dest 是目标目录。因此,这将执行以下操作:

  1. 找到每一个文件在 orig/ 及其子目录中
  2. 对于每个文件,使用以下选项调用复制(cp)到目标:u 表示更新,即仅复制较新的文件,存档,即保留属性,其中包括创建/修改日期

这里的小测试成功了,但当然要小心,一定要备份以防万一:-)

相关内容