Risposte:
for %a in (*) do ren "%a" "00_%a"
Appunti:
forcome sopra non è consigliato.Utilizzare quanto segue in una cmdshell:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
In un file batch (sostituisci %con %%):
for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"
Nota:
È fondamentale che tu usi
FOR /Fe non il sempliceFOR.I
FOR /Fraccoglie l'intero risultato delDIRcomando prima che inizi iterazione, mentre la sempliceFORinizia iterare dopo il buffer interno è pieno, che aggiunge un rischio di rinominare lo stesso file più volte.
come consigliato da dbenham nella sua risposta per aggiungere "testo" alla fine di più nomi di file :
Per eseguire questo ciclo For su cartelle (directory) anziché file, è sufficiente includere l' /Dopzione.
for /D %a in (*) do ren "%a" "00_%a"
Da for /?:
FOR / D% variabile IN (set) comando DO [comando-parametri]
If set contains wildcards, then specifies to match against directory names instead of file names.
renfunziona su cartelle. La limitazione è che "non è possibile specificare un'unità o un percorso diverso per la destinazione.
Ren.
for /dpotrebbe anche avere il problema di provare a elaborare i valori più volte (vedi anche la mia risposta).