Respostas:
for %a in (*) do ren "%a" "00_%a"
Notas:
for
como acima não é recomendado.Use o seguinte em um cmd
shell:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
Em um arquivo em lotes (substitua %
por %%
):
for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"
Nota:
É fundamental que você use
FOR /F
e não o simplesFOR
.Ele
FOR /F
reúne todo o resultado doDIR
comando antes de começar a iterar, enquanto o simplesFOR
começa a iterar depois que o buffer interno está cheio, o que aumenta o risco de renomear o mesmo arquivo várias vezes.
como recomendado por dbenham em sua resposta para adicionar "texto" ao final de vários nomes de arquivos :
Para executar esse loop For em pastas (diretórios) em vez de arquivos, inclua a /D
opção
for /D %a in (*) do ren "%a" "00_%a"
De for /?
:
Variável FOR / D% comando IN (conjunto) DO [parâmetros de comando]
If set contains wildcards, then specifies to match against directory names instead of file names.
ren
funciona em pastas. A limitação é que "não é possível especificar uma unidade ou caminho diferente para o alvo.
Ren
.
for /d
que também possa ter o problema de tentar processar valores várias vezes (veja também minha resposta).