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 não renomeará os arquivos.
todos os exemplos que tentei pesquisar no Google acrescentam a palavra, mas passam pelos próximos caracteres do nome do arquivo, só preciso adicionar a palavra ao início sem passar as letras.
Alguma ideia?
Responder1
Existem três problemas com seu arquivo em lote:
Em arquivos em lote, você deve usar
%%a
em vez de%a
.%%a
conterá o caminho completo, não apenas o nome do arquivo.A renomeação falhará se houver espaços no nome do arquivo.
Em geral, também recomendo deixar echo
ativado durante a solução de problemas.
Em vez disso, tente isto:
cd /d c:\folder
for %%a in (*.mp3) do ren "%%a" "[Replay]%%a"
Se isso renomear os arquivos duas vezes, for
estará lendo as entradas do diretório conforme avança. 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