Acrescentar ao início do nome do arquivo

4

Estou tentando adicionar a palavra [Replay] a todos os arquivos mp3 em uma pasta usando um arquivo em lote da seguinte forma:

@echo off
for %a in (c:\folder\*.mp3) do ren %a [Replay]%a

Mas ele não renomeia os arquivos.

todos os exemplos que eu tentei no googling anexam a palavra mas passam pelos próximos caracteres no nome do arquivo, eu só preciso adicionar a palavra ao início sem passar as letras.

Alguma opinião?

    
por TonalDev 30.12.2012 / 18:52

1 resposta

6

Existem três problemas com o seu arquivo de lote:

  • Nos arquivos em lote, você precisa usar %%a em vez de %a .

  • %%a manterá o caminho completo, não apenas o nome do arquivo.

  • A renomeação falhará se houver espaços no nome do arquivo.

Em geral, eu também recomendo deixar echo durante a solução de problemas.

Tente isso:

cd /d c:\folder
for %%a in (*.mp3) do ren "%%a" "[Replay]%%a"

Se isso renomear os arquivos duas vezes, for lerá as entradas do diretório conforme for. Como solução alternativa, você pode salvar a lista em um arquivo temporário:

cd /d c:\folder
dir /b *.mp3 > temp
for /f "delims=" %%a in (temp) do ren "%%a" "[Replay]%%a"
del temp
    
por 30.12.2012 / 18:59