将图片从一个文件夹递归复制到另一个文件夹的根目录?

将图片从一个文件夹递归复制到另一个文件夹的根目录?

因此,我有一个运行该特定程序的 Windows 虚拟机。详细信息如下:

  1. 该程序没有递归搜索功能。
  2. 我有很多可用磁盘空间。
  3. 我的图片文件夹中有多余的垃圾。(我只想复制图片,假设我有各种已知图片文件扩展名的图片(不包括档案))
  4. 我想使用命令行递归扫描我的主目录中的每一张图片,并将它们全部复制到当前目录,而不创建与我的图片文件夹匹配的子文件夹。(例如:~/cyndaquil.png复制到./cyndaquil.png,而~/foo/bar/quilava.png复制到./quilava.png。此外,我的主目录很乱。)

那么,我可以使用什么命令来执行此操作吗?

答案1

file这将复制(将会回显)该命令认为是某种图像的 所有文件:

for i in $(find . -type f -print0 | xargs -0 file | grep " image " | cut -d: -f1 ) ; do echo cp "$i" $PWD; done

答案2

如果您不关心名称冲突(foo/bar/name1vs foo/other/name1(但请参阅man cpfor --backup=numbered),您可以阅读man find以了解其作用:

find $HOME -type f -iname '*.png' -exec cp --backup=numbered {} $PWD \;

相关内容