Đâ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
rootdir
thư 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 đặt rootdir = "/.../My HDD"
KHÔNG rootdir = "/.../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
logfile
vị 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.