Jawaban:
for %a in (*) do ren "%a" "00_%a"
Catatan:
for
seperti di atas tidak disarankan.Gunakan yang berikut ini di cmd
shell:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
Dalam file batch (ganti %
dengan %%
):
for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"
catatan:
Sangat penting bahwa Anda menggunakan
FOR /F
dan bukan yang sederhanaFOR
.Yang
FOR /F
mengumpulkan seluruh hasilDIR
perintah sebelum mulai iterasi, sedangkan yang sederhanaFOR
mulai iterasi setelah buffer internal penuh, yang menambahkan risiko mengubah nama file yang sama beberapa kali.
seperti yang disarankan oleh dbenham dalam jawabannya untuk menambahkan "teks" ke akhir beberapa nama file :
Untuk melakukan ini Untuk loop pada folder (direktori) alih-alih file, cukup sertakan /D
sakelar.
for /D %a in (*) do ren "%a" "00_%a"
Dari for /?
:
FOR / D% variabel IN (set) DO command [parameter-perintah]
If set contains wildcards, then specifies to match against directory names instead of file names.
ren
tidak berfungsi pada folder.
Ren
.
for /d
mungkin juga memiliki masalah mencoba memproses nilai beberapa kali (juga lihat jawaban saya).