Ubah nama fail berdasarkan data dalam fail

Ubah nama fail berdasarkan data dalam fail

Isu

Saya berharap seseorang dapat membantu saya membuat fail kelompok untuk menamakan semula fail teks dalam folder tertentu untuk memasukkan data dari fail. Ia adalah fail dibatasi asterisk dan saya perlu menggunakan data dari medan ke-12.

Penyelesaian

  • Berikut adalah skrip batch.

 # Script Rename12.txt var string senarai var string string, file, content, field12 if ($ folder == "") keluar dari 1 "Error 1: folder not specified." endif cd $ folder # Kumpulkan senarai fail lf -n "*"> $ list # Pergi melalui fail satu demi satu semasa ($ list "") lakukan # Dapatkan fail seterusnya lex "1" $ list> $ file # kandungan fail menjadi pemboleh ubah rentetan. kucing $ file> $ content # Dapatkan nilai selepas asterisk ke-11 dan sebelum asterisk seterusnya. stex "^ * ^ 11 [" $ content> $ field12; stex "[^ * ^" $ field12> null # Ubah nama fail ke 12 bidang. rename system ("\" "+ $ file +" \ "") ("\" file _ "+ $ field12 +" \ "") selesai 
    • Skrip dalam skrip biter. Simpan skrip dalam fail C: /Scripts/Rename12.txt, jalankan dengan perintah ini dalam skrip biter.

 skrip "C: /Scripts/Rename12.txt" folder ("C: / test") 
    • Ia akan menamakan semula semua fail dalam folder C: / test.
    • Sila uji dahulu pada folder ujian.

Catatan

Diselesaikan oleh Richard.Williams

Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama