Cómo eliminar por lotes una extensión de archivo duplicada en el sistema operativo

Cómo eliminar por lotes una extensión de archivo duplicada en el sistema operativo

Tengo varios archivos llamados ".txt.jpg" (no preguntes...) en un solo directorio. Me gustaría eliminar la parte ".txt" para que el resultado sea ".jpg" únicamente para luego poder importarlos a Fotos.

¿Alguna sugerencia? Miré preguntas y respuestas anteriores sobre el comando mv pero no pude entender cómo escribir el comando correcto. No quiero complicarme más. Gracias

Respuesta1

Si está en Windows y no hay puntos adicionales en ninguno de los nombres de archivo, puede usar lo siguiente:

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

Debe haber suficiente ?para que coincida con la longitud del nombre de archivo más largo. Ver¿Cómo interpreta el comando RENAME de Windows los comodines?para más información.

Si algunos archivos tienen más de dos puntos, necesitará más que un simple comando REN. Lo siguiente debería eliminar lo no deseado .txtindependientemente de cuántos puntos haya en el nombre original.

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

Si coloca el comando dentro de un script por lotes, deberá duplicar los porcentajes:

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

información relacionada