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