我有一个批处理文件,除其他外,它使用命令mmv
重命名一些文件。相关行是这样的:
mmv "$BASEDIR/files/*.txt" "$BASEDIR/files/#1.strings"
从本质上讲,它是有效的,但问题是,当文件碰巧已经存在时,它会不断要求我确认是否覆盖文件。我希望它在没有确认的情况下继续执行,所以我检查了手册页mmv
,它说只需使用该-o
选项,如下所示:
mmv -o "$BASEDIR/files/*.txt" "$BASEDIR/files/#1.strings"
但这并没有什么区别。每次我运行脚本时,当涉及到该mmv
部分时,它都会开始询问我确认。
为什么该-o
选项没有完成其工作,以及如何在mmv
不要求确认的情况下覆盖?
答案1
尝试将 -d 添加到命令行中:
碰撞和删除
当任何两个或多个匹配文件必须移动、复制或链接到相同的目标文件名时,mmv 会在执行任何操作之前将该情况检测为错误。此外,mmv 检查其任何操作是否会导致现有文件被破坏。
如果指定了 -d(删除)选项,则所有文件删除或覆盖都会以静默方式完成。