Đổi tên tệp dựa trên dữ liệu trong tệp

Đổi tên tệp dựa trên dữ liệu trong tệp

Vấn đề

Tôi hy vọng ai đó có thể giúp tôi tạo một tệp bó để đổi tên tệp văn bản trong một thư mục cụ thể để bao gồm dữ liệu từ tệp. Nó là một tệp được phân cách bằng dấu hoa thị và tôi cần sử dụng dữ liệu từ trường thứ 12.

Dung dịch

  • Đây là một tập lệnh bó.

 # Script Rename12.txt thư mục chuỗi var danh sách chuỗi var, tệp, nội dung, trường12 if ($ thư mục == "") thoát 1 "Lỗi 1: thư mục không được chỉ định." endif cd $ thư mục # Thu thập danh sách các tệp lf -n "*"> $ list # Truy cập từng tệp một ($ list "") làm # Lấy tệp tiếp theo lex "1" $ list> $ file # Nhận nội dung của tập tin thành một biến chuỗi. cat $ file> $ content # Nhận giá trị sau dấu sao thứ 11 và trước dấu sao tiếp theo. stex "^ * ^ 11 [" $ nội dung> $ field12; stex "[^ * ^" $ field12> null # Đổi tên tệp thành trường 12. đổi tên hệ thống ("\" "+ $ file +" \ "") ("\" tệp _ "+ $ field12 +" \ "") đã xong 
    • Script nằm trong kịch bản biter. Lưu tập lệnh trong tệp C: /Scripts/Rename12.txt, chạy với lệnh này trong tập lệnh biter.

 thư mục "C: /Scripts/Rename12.txt" ("C: / test") 
    • Nó sẽ đổi tên tất cả các tệp trong thư mục C: / test.
    • Vui lòng kiểm tra đầu tiên trên một thư mục thử nghiệm.

chú thích

Được giải quyết bởi Richard.Williams

Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên