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

执行mv命令批量移动txt文件时提示“cannot overwrite non-directory with directory”错误求助

执行mv命令批量移动txt文件时提示“cannot overwrite non-directory with directory”错误求助

嗨,我来帮你搞定这个问题~

你遇到的错误是因为mv命令的参数顺序写反了!我们先理清楚mv的基本语法:mv 要移动的文件/目录 目标位置,而你现在的命令里把目标目录bkp放在了前面,要移动的txt文件{}放在了后面,这就导致mv理解成“把目录bkp移动到某个txt文件的位置”——但文件是个非目录,自然就会报错说“不能用目录覆盖非目录”啦。

给你修正后的正确命令:

find . -type f -name '*.txt' -exec mv {} bkp/ \;

这里要注意几个小细节:

  • 把{}(find找到的每个txt文件)放在mv的第一个参数位置,目标目录bkp/放在第二个位置,结尾的斜杠/可以确保mv识别到这是个目录,避免万一当前目录有个叫bkp的文件时出问题。
  • 如果bkp目录还没创建,记得先执行mkdir bkp创建它,不然mv会把txt文件直接重命名成bkp(而不是移动到目录里),这也会引发其他问题哦。

备注:内容来源于stack exchange,提问作者Subir Makur

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 16:04:42