Apakah Anda benar-benar harus menggunakan file batch? Tidak bisakah Anda menggunakan program seperti Ubah Nama Master untuk melakukan ini?
Dour High Arch
Jawaban:
15
Perintah berikut hanya mengubah nama file tetapi tidak folder.
for %a in (*) do ren "%a" "00_%a"
Catatan:
Penggunaan forseperti di atas tidak disarankan.
Ada kemungkinan file dapat diganti namanya beberapa kali.
Lihat di bawah untuk alasan mengapa.
Gunakan yang berikut ini di cmdshell:
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 /Fdan bukan yang sederhana FOR.
Yang FOR /Fmengumpulkan seluruh hasil DIRperintah sebelum mulai iterasi, sedangkan yang sederhana FORmulai iterasi setelah buffer internal penuh, yang menambahkan risiko mengubah nama file yang sama beberapa kali.
@ DavidPostill Ya itu kebiasaan lama yang merayap masuk, saya mengubahnya kembali Ren.
Ƭᴇcʜιᴇ007
Anda dapat melakukan file dan folder dalam satu perintah (lihat jawaban saya). Dan saya menduga for /dmungkin juga memiliki masalah mencoba memproses nilai beberapa kali (juga lihat jawaban saya).
Jawaban:
Perintah berikut hanya mengubah nama file tetapi tidak folder.
Catatan:
for
seperti di atas tidak disarankan.Gunakan yang berikut ini di
cmd
shell:Dalam file batch (ganti
%
dengan%%
):catatan:
seperti yang disarankan oleh dbenham dalam jawabannya untuk menambahkan "teks" ke akhir beberapa nama file :
Bacaan lebih lanjut
sumber
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 /?
:sumber
ren
tidak berfungsi pada folder.Ren
.for /d
mungkin juga memiliki masalah mencoba memproses nilai beberapa kali (juga lihat jawaban saya).