Eu encontrei este script python que também funciona:
for root, dirs, files in os.walk(cur_dir):
for filename in files:
file_ext = os.path.splitext(filename)[1]
if old_ext == file_ext:
oldname = os.path.join(root, filename)
newname = oldname.replace(old_ext, new_ext)
os.rename(oldname, newname)
Encontrado em:
link
Eu adicionei o Python ao meu caminho e coloquei o script Python acima em uma pasta 'utils'. Eu então criei este script em lote simples para executá-lo:
rn.bat:
python \utils\rn.py %1 %2 %3
Eu também atualizei o script python acima para pegar seus args a partir da linha de comando. rn.py:
import sys
import os
cur_dir = sys.argv[1]
old_ext = sys.argv[2]
new_ext = sys.argv[3]
#print cur_dir, old_ext, new_ext
for root, dirs, files in os.walk(cur_dir):
for filename in files:
file_ext = os.path.splitext(filename)[1]
if old_ext == file_ext:
oldname = os.path.join(root, filename)
newname = oldname.replace(old_ext, new_ext)
os.rename(oldname, newname)
Finalmente, tudo que precisamos fazer agora é algo assim:
>rn . .foo .bar
ou
>rn \ .exe .txt
Divirta-se com o segundo:)