在不同目录中批量复制文件

Bulk duplicate files in different directories

抱歉,我不确定我问的地方是否正确。我对元数据有疑问。

Folder0 
 ├ Folder1
 │  ├ Folder1.png
 │  └ Other files
 ├ Folder2
 │  ├ Folder2.png
 │  └ Other files
 └ Folder3
    ├ Folder3.png
    └ Other files

Folder0 
 ├ Folder1
 │  ├ Folder1.png
 │  ├ Cover.png
 │  └ Other files
 ├ Folder2
 │  ├ Folder2.png
 │  ├ Cover.png
 │  └ Other files
 └ Folder3
    ├ Folder3.png
    ├ Cover.png
    └ Other files

是否可以 运行 命令行或者是否有任何软件可以帮助我将不同子文件夹中的 *.png 复制到另一个 png 并将其重命名为 Cover.png?如果 Cover.png 存在,最好忽略。
这将节省我很多时间,因为我有超过 2000 个这样的文件夹。
感谢您的帮助。

这可以使用 Exiftool 使用此命令完成

exiftool -r -ext png -o . -Filename=%d/cover.png /path/to/directories/

Exiftool 将递归读取所有目录以查找 PNG 文件。当它遇到一个时,它会创建一个名为 cover.png 的副本。如果 cover.png 已经存在,exiftool 将显示 1 files weren't updated due to errors 但会继续。如果有多个PNG文件,只会复制它读取的第一个文件,其他的会return上面的错误。

细分:
-r (recurse) option - 通过子目录递归
-ext png - 仅处理 PNG 文件
-o. - 设置输出文件或目录名。使用 Filename 标记(命令中的下一个选项)时,这会导致文件被复制而不是在输出目录中重新创建。在这种情况下,点用作虚拟参数,因为 Filename 标记的使用会覆盖此处使用的输出目录
-Filename=%d/cover.png - 这将是前一个 -o 选项使用的名称。 %d 是正在处理(复制)的文件的目录,它完成了新 cover.png 文件的目标路径。
/path/to/directories/ - 将其替换为您要处理的目录树顶层的路径。如果你已经CD到顶层目录,用一个点.代表当前目录。