Bagaimana cara menambahkan awalan ke semua file dan folder di folder? (windows)

14

Perintah berikut hanya mengubah nama file tetapi tidak folder.

for %a in (*) do ren "%a" "00_%a"

Matis
sumber
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.

seperti yang disarankan oleh dbenham dalam jawabannya untuk menambahkan "teks" ke akhir beberapa nama file :


Bacaan lebih lanjut

DavidPostill
sumber
0

Untuk melakukan ini Untuk loop pada folder (direktori) alih-alih file, cukup sertakan /Dsakelar.

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.
Ƭᴇcʜιᴇ007
sumber
rentidak berfungsi pada folder.
Batasannya
@ 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).
DavidPostill