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

0

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

Alguma sugestão? Eu olhei para o Q / A anterior envolvendo o comando mv mas não conseguia descobrir como escrever o comando correto. Eu não quero mexer mais. Obrigado

    
por lake monster 04.09.2016 / 09:21

1 resposta

1

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

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

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

Se alguns arquivos tiverem mais de dois pontos, você precisará de mais do que um simples comando REN. Os itens a seguir devem remover o .txt indesejado, independentemente de quantos pontos estão 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á duplicar as porcentagens:

@echo off
for %%A in (*.txt.jpg) do for %%B in ("%%~nA") do ren "%%A" "%%~nB.jpg"
    
por 04.09.2016 / 16:42