Como remover em lote uma extensão de arquivo duplicada no sistema operacional

Como remover em lote uma extensão de arquivo duplicada no sistema operacional

Eu tenho vários arquivos chamados ".txt.jpg" (não pergunte...) em um único diretório. Gostaria de remover a parte ".txt" para que o resultado se torne ".jpg" apenas para que eu possa importá-los para o Fotos.

Alguma sugestão? Analisei as perguntas e respostas anteriores envolvendo o comando mv, mas não consegui descobrir como escrever o comando correto. Não quero mexer mais. Obrigado

Responder1

Se você estiver no Windows e não houver pontos adicionais em nenhum dos nomes dos arquivos, poderá usar o seguinte:

ren *.txt.jpg ???????????????????????????????????????????????????.jpg

Deve haver o suficiente ?para corresponder ao comprimento do nome de arquivo mais longo. VerComo o comando RENAME do Windows interpreta curingas?para mais informações.

Se alguns arquivos tiverem mais de dois pontos, você precisará de mais do que um simples comando REN. O seguinte deve remover os indesejados, .txtindependentemente de quantos pontos existem no nome original.

for %A in (*.txt.jpg) do @for %B in ("%~nA") do @ren "%A" "%~nB.jpg"

Se você colocar o comando em um script em lote, deverá dobrar as porcentagens:

@echo off
for %%A in (*.txt.jpg) do for %%B in ("%%~nA") do ren "%%A" "%%~nB.jpg"

informação relacionada