Đây là một giải pháp trong python xử lý trường hợp các tệp không nhất thiết phải trong cùng một thư mục.
import os
torename = []
rootdir = "The main directory"
logfile = "Path to log file" #Eg: logfile = "/home/prasanth/renamelog"
for (path, dirs, files) in os.walk(rootdir):
    for dirname in dirs:
        if ':' in dirname:
            torename.append(os.path.join(path, dirname))
    for filename in files:
        if ':' in filename:
            torename.append(os.path.join(path, filename))
print "No of files/dirs to rename =", len(torename)
a = raw_input("Continue? (y/n) ")
if a == 'y':
    torename.reverse()
    for oldname in torename:
        directory, filename = os.path.split(oldname)
        newname = os.path.join(directory, filename.replace(':', '-'))
        command = 'mv %s %s > /dev/null' % (repr(oldname), repr(newname))
        os.system(command)
        f = open(logfile, 'a')
        f.write(oldname + '\n')
        f.close()
else:
    print "Aborted."
- Lưu cái này vào một tập tin (nói) rename.py.
- Thay đổi rootdirthư mục ngoài cùng đang được xem xét (Sử dụng tên đường dẫn đầy đủ bắt đầu bằng /. Không có các tốc ký hoặc biến env như ~ được phép). Không cần đặt \ trước các ký tự đặc biệt - ví dụ: nếu đường dẫn ngoài cùng là /.../ Ổ cứng của tôi, hãy đặtrootdir = "/.../My HDD"KHÔNGrootdir = "/.../My\ HDD"(Lưu ý ") Tôi chỉ rõ ràng như vậy vì bạn có thể không quen với python. Không tôn trọng dự định.]
- Thay đổi logfilevị trí mong muốn của logfile. Cuối cùng, tệp này sẽ chứa danh sách các tệp được đổi tên - để tham khảo trong tương lai.
- Gọi python rename.py.
Cảnh báo: Thực hiện kiểm tra trên một mẫu nhỏ trước khi mạo hiểm toàn bộ GB nhạc.
Chi tiết: Đổi tên được thực hiện từ các tệp trong cùng bên ngoài.
               
              
find .tên của một thư mục con đi trước nội dung của nó. Vì vậy, nếu bạn có một tập tin/1:/2:đầu tiên/1:/sẽ được đổi tên thành/1-/. Bây giờ bạn không thể đổi tên/1:/2:thành/1-/2-vì/1:/2:không tồn tại.