Agregue texto al final del nombre del archivo (pero antes de la extensión) usando un archivo por lotes

Agregue texto al final del nombre del archivo (pero antes de la extensión) usando un archivo por lotes

Tengo una lista de archivos que están en el formato de la izquierda. Quiero agregar una cadena a cada nombre de archivo, peroantesla extensión, como se muestra:

File 1.txt  ->  File 1 version 1.txt
File 2.txt  ->  File 2 version 1.txt
File 3.txt  ->  File 3 version 1.txt
File 4.txt  ->  File 4 version 1.txt
...

En cada caso, la cadena adjunta es la misma en todos los archivos.

Parece una tarea muy sencilla, pero tengo problemas para colocarla en un archivo por lotes.

Probé el rencomando y seguí algunos de los ejemplos enesta página, pero los nombres de archivos resultantes añaden la cadenadespuésla extensión:

File 1.txt version 1.txt

Respuesta1

para nombres de archivos más largos tendrás que agregar algunos más ?en el bloque con la masa de?????????

ren *.?* ????????????????????????????????????????????????????????" version 1".*

Respuesta2

En lugar de confiar enrenLas peculiaridades indocumentadas, ¿por qué no hacerlo de la manera adecuada?

for %a in (*.txt) do ren "%~a" "%~na version 1%~xa"

Si desea utilizar esto en un archivo por lotes, recuerde duplicar cada signo %.

Esta línea de código recorrerá todos los archivos que coincidan *.txty realizará un comando de cambio de nombre ( ren) en cada nombre de archivo. %aes el nombre completo del archivo, %~aes el nombre del archivo sin comillas adicionales agregadas (las comillas se agregan en el comando). %~naes el nombre del archivo sin la extensión del archivo y %~xaes la extensión del archivo.

Si hay un solo archivo, File 1.txten el directorio actual se ejecutará el siguiente comando: ren "File 1.txt" "File 1 version 1.txt"

Respuesta3

Quería agregar "_A" a varios archivos y así es como lo hice.

Primero eliminé la extensión, agregué el sufijo y luego cambié la extensión a la original. Seguro que funcionó para mí y mantuvo el código por lotes simple, ya que no soy un gran programador.

@ECHO OFF

REN *.pdf *.
REN *. *_A.
REN *. *.pdf

Respuesta4

Para las personas que no tienen experiencia con comandos (como yo), hay un par de software que facilitan el cambio de nombre masivo:

  • Utilidad de cambio de nombre masivo (sin código abierto)
  • ¡Cambiarle el nombre! (fuente abierta)

información relacionada