You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux批量复制专辑目录cover.jpg为folder.jpg的命令报错求助

解决方法

你的命令出错是因为参数顺序和路径逻辑不对:cp的语法是cp 源文件 目标文件/目录,原命令里你把找到的cover.jpg文件路径当成了目标目录,但它本身是个文件,自然会报“不是目录”的错误;而且你写的cover.jpg是相对当前执行命令的目录,不是每个专辑目录下的那个目标文件。

给你两种可行的命令:

  • 方法一(最简单):用find的-execdir参数,它会自动切换到找到文件的所在目录执行命令:

    find . -iname "cover.jpg" -execdir cp cover.jpg folder.jpg \;
    

    这个命令会找到所有cover.jpg,自动进入它所在的专辑目录,直接把该目录下的cover.jpg复制为folder.jpg。

  • 方法二:用sh -c手动处理路径,提取文件所在目录:

    find . -iname "cover.jpg" -exec sh -c 'cp "$0" "$(dirname "$0")/folder.jpg"' {} \;
    

    这里$0代表找到的cover.jpg的完整路径,dirname "$0"会提取出它所在的专辑目录,随后把原文件复制到该目录下的folder.jpg。

如果你的cover.jpg文件名存在大小写变化(比如Cover.jpg或COVER.JPG),-iname已经帮你处理了大小写不敏感的匹配,无需额外修改。

内容的提问来源于stack exchange,提问作者InvisibleInk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 13:25:05