我已经设置
autoload -U zmv
alias mmv='noglob zmv -W'
当使用示例数据(约 20 个带有子文件夹的文件夹)时,我运行
mmv images/**/advert images/**/notice
它只是按预期工作。但是,如果我对真实数据(数十万个文件夹)运行相同的命令,什么都不会发生。我跑去mmv -n
收到一些消息,但没有结果。甚至一个目录名称也被更改了,所以在我刚刚结束该过程之后。
缓存文件夹列表是zmv
第一步,而不是替换名称吗?我预计zmv
会立即开始按目录更改名称。
我应该运行 mvv 并等待几个小时吗?
zmv
在开始行动之前计算所有重命名,因此您观察到的行为是正常的。这样做的原因之一是如果要将两个文件重命名为相同的名称,它会出错。如果要将文件重命名为已经存在的名称,它也会出错,并且它会尝试及早发现错误,而不是在中间因已重命名的一组难以确定的文件而中止。