Eliminación de sufijos de varios archivos en ventanas – no duplicado

Esto puede aparecer como una pregunta duplicada pero no lo es. Mi problema es un poco diferente. En realidad, yo tenía una carpeta con una gran cantidad de archivos mp4 y quería sufijo cada uno de los nombres de archivo con BUENO. Al ver las respuestas a la pregunta anterior hice algo y terminé sufixando con .mp4good. Así un archivo originalmente a.mp4 se convirtió en un.mp4good.mp4 en lugar de aGOOD.mp4 (lo que realmente quería). Por suerte, todos estos archivos están en ejecución, pero los nombres no son lo que yo quería. Solicito ayuda para obtener lo que quiero de este punto. Utilicé el comando del renombramiento en DOS de la carpeta que contiene estos archivos.

Como has descubierto, la sintaxis que utilizaste para añadir un sufijo al nombre base era incorrecta. Una explicación de por qué se puede encontrar en ¿Cómo interpreta el comando RENAME de Windows los comodines? . Ese vínculo también tiene la sintaxis correcta para anexar al nombre base:

ren *.mp4 ??????????????????GOOD.* 

¿Debe haber suficiente ? Para que coincida con la longitud del nombre base más largo.

Tenga en cuenta que si tiene algunos nombres iniciales de la forma abmp4 , entonces lo anterior dará aGOOD.b.mp4 . Si quieres a.bGOOD.mp4 , entonces necesitas más que un simple comando REN. Podrías usar

 for %F in (*.mp4) do @ren "%F" "%~nFGOOD.mp4" 

Si pones el comando en un script por lotes, debes duplicar los porcentajes

 @echo off for %%F in (*.mp4) do ren "%%F" "%%~nFGOOD.mp4" 

Actualmente tienes nombres de la forma a.mp4GOOD.mp4 , y quieres aGOOD.mp4 .

La solucion es:

 ren *.mp4GOOD.mp4 ??????????????????GOOD.mp4 

Si algunos nombres tienen más de dos puntos, nuevamente necesitará más que un simple comando REN.

 for %A in (*.mp4GOOD.mp4) do @for %B in ("%~nA") do @ren "%B" "%~nBGOOD.mp4 

Recuerde doblar los porcentajes si pone el comando en un script por lotes.