通过替换文件夹和子文件夹中的字符来更改多个文件名

通过替换文件夹和子文件夹中的字符来更改多个文件名

我用这个代码

rename 's/\:/-/g' *.png -vn

在文件夹中的所有文件中用-替换:...

但我需要像这样重命名特定文件夹及其子文件夹中的所有文件。

我怎样才能做到这一点?

答案1

使用find

find folder -type f -iname '*.png' | rename -vn 's/\:/-/g'

或者:

find folder -type f -iname '*.png' -exec rename -vn 's/\:/-/g' {} +

或者 bash 的递归通配符:

shopt -s globstar
rename -vn 's/\:/-/g' folder/**/*.png

相关内容