Adicione texto ao final do nome do arquivo (mas antes da extensão) usando arquivo em lote

Adicione texto ao final do nome do arquivo (mas antes da extensão) usando arquivo em lote

Eu tenho uma lista de arquivos que estão no formato à esquerda. Quero acrescentar uma string a cada nome de arquivo, masantesa extensão, como mostrado:

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
...

Em cada caso, a string anexada é a mesma em todos os arquivos.

Parece uma tarefa tão simples, mas estou tendo problemas para colocar isso em um arquivo em lote.

Eu tentei o rencomando e segui alguns exemplos emesta página, mas os nomes dos arquivos resultantes acrescentam a stringdepoisa extensão:

File 1.txt version 1.txt

Responder1

para nomes de arquivos mais longos você terá que adicionar mais alguns ?no bloco com a massa de?????????

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

Responder2

Em vez de confiarrendas peculiaridades não documentadas, por que não fazer isso da maneira correta?

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

Se você quiser usar isso em um arquivo em lote, lembre-se de dobrar cada sinal%.

Esta linha de código percorrerá todos os arquivos correspondentes *.txte executará um comando de renomeação ( ren) em cada nome de arquivo. %aé o nome completo do arquivo, %~aé o nome do arquivo sem aspas extras adicionadas (aspas são adicionadas no comando). %~naé o nome do arquivo sem a extensão do arquivo e %~xaé a extensão do arquivo.

Se houver um único arquivo, File 1.txtno diretório atual será executado o seguinte comando: ren "File 1.txt" "File 1 version 1.txt"

Responder3

Eu queria adicionar "_A" a vários arquivos e foi assim que fiz.

Removi a extensão primeiro, adicionei o sufixo e depois mudei a extensão de volta para o original. Com certeza funcionou para mim e manteve o código em lote simples, já que não sou muito programador.

@ECHO OFF

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

Responder4

Para as pessoas que não têm experiência com comandos (como eu), existem alguns softwares que facilitam a renomeação em massa:

  • Utilitário de renomeação em massa (sem código aberto)
  • Renomeie-o! (Código aberto)

informação relacionada