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

Gen*_*oro 2 rename batch-rename

我用这个代码

rename 's/\:/-/g' *.png -vn
Run Code Online (Sandbox Code Playgroud)

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

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

我怎么能做到这一点?

mur*_*uru 5

使用find

find folder -type f -iname '*.png' | rename -vn 's/\:/-/g'
Run Code Online (Sandbox Code Playgroud)

或者:

find folder -type f -iname '*.png' -exec rename -vn 's/\:/-/g' {} +
Run Code Online (Sandbox Code Playgroud)

或者 bash 的递归通配符:

shopt -s globstar
rename -vn 's/\:/-/g' folder/**/*.png
Run Code Online (Sandbox Code Playgroud)