em um prompt de comando no diretório: ren *.* *.jpg
Eu tenho várias centenas de imagens .jpg. O problema é que alguns têm ".jpg" e outros têm ".JPG" como extensão de arquivo.
Estou no Windows 7, 64 bits. Como posso alterar facilmente todas as extensões de arquivo para o mesmo nome (".jpg" neste caso)? Existe algum tipo de comando de linha de comando?
Para fazer isso de forma recursiva:
for /r %f in (*.jpg) do rename "%f" "%~nf.jpg"
ou
for /r %f in (*.jpg) do rename "%f" "*.jpg"
Uma maneira de powershell:
get-childitem | where {$_.name -match 'JPG'} | %{rename-item -path $_ -newname "$($_.basename).jpg"}
Editar: explicação solicitada
O get-childitem é muito parecido com o antigo comando 'dir'.
onde, na verdade, é um alias para o where-object e é um cmdlet de filtragem
O sinal de porcentagem (%) é um alias para o cmdlet foreach-object, que executa um loop for para cada item que é passado.
renomear-item é bastante auto-explicativo. :)
O $ _ que você vê é um símbolo especial para "THIS". "ESTE" é o objeto em que está trabalhando no momento.
Então, em linguagem simples:
"Obtenha os arquivos na pasta atual que contêm 'JPG'. Para cada um deles, renomeie-os com o nome base original e adicione ".jpg" ao final. "
update: encontrei ISTO no stackoverflow. Parece que caberia na conta.
Tags windows-7