Cách đổi tên hàng loạt file bằng Python

Đổi tên hàng loạt là một phương pháp hiệu quả để sắp xếp các file kỹ thuật số. Nó có thể đặc biệt hữu ích khi tên file của bạn thiếu phần mô tả hoặc tính nhất quán.

Bạn có thể tự động hóa hành động đổi tên hàng loạt bằng một script Python đơn giản. Chuyển một mẫu vào script Python và cho phép nó đổi tên tất cả các file trong một thư mục bằng cách sử dụng quy ước đặt tên nhất quán.

Khi script Python đã sẵn sàng, bạn có thể chạy nó trên dòng lệnh và script sẽ đổi tên tất cả các file trong một thư mục được chỉ định.

Cách lặp qua tất cả các file trong một thư mục

Có rất nhiều cách để bạn có thể đổi tên hàng loạt file trong Windows, bao gồm thông qua Command Prompt hoặc Windows File Explorer.

Một cách khác bạn có thể đổi tên file là sử dụng script Python. Nếu bạn không quen với Python, có nhiều cách bạn có thể học cách viết code Python tốt hơn.

Để đổi tên tất cả các file trong một thư mục nhất định, bạn sẽ cần lặp qua tập hợp các file đó. Bạn có thể xem toàn bộ ví dụ trong repo GitHub này.

1. Tạo một thư mục mới để lưu trữ các file mà bạn muốn đổi tên:

Danh sách các file trong thư mục
Danh sách các file trong thư mục

2. Tạo một file mới có tên là batch-rename.py.

3. Ở đầu file, nhập mô-đun os. Điều này sẽ cho phép bạn truy cập các file và thư mục của hệ điều hành:

import os

4. Xác định thư mục nơi bạn đã lưu trữ các file:

dir_path = "C:\\Users\\Sharl\\Desktop\\files"

Bạn cũng có thể sử dụng đường dẫn tương đối để thay thế. Ví dụ, nếu script và file folder của bạn nằm trong cùng một thư mục, thì đường dẫn file của bạn có thể giống như sau:

dir_path = "files"

5. Khởi tạo một biến đếm mà bạn sẽ sử dụng để nối thêm một biến đếm vào cuối tên file:

counter = 1

6. Thêm vòng lặp for để lặp qua từng file trong thư mục:

for filename in os.listdir(dir_path):
  print("Renaming: " + filename + "...")

7. Để kiểm tra script, hãy chạy script đó trên dòng lệnh bằng lệnh python. Đảm bảo rằng bạn điều hướng đến vị trí thư mục mà bạn đã lưu trữ script của mình:

cd Desktop
python batch-rename.py
In câu lệnh có tên file
In câu lệnh có tên file

Cách đổi tên tất cả các file dựa trên một mẫu nhất định

Người dùng sẽ cần nhập một mẫu vào script, chẳng hạn như "Financial_Planning". Script sẽ đổi tên tất cả các file thành mẫu được cung cấp và thêm số đếm vào cuối tên file.

1. Ở đầu file, hãy nhập mô-đun sys.

import sys

Điều này sẽ cho phép bạn chấp nhận các đối số dòng lệnh. Khi chạy script trên dòng lệnh, bạn có thể nhập mẫu bạn muốn sử dụng để đổi tên file của mình.

python batch-rename.py "Financial_Planning"

2. Sau các câu lệnh nhập, hãy nhập đối số dòng lệnh. Nếu không, sẽ có thông báo lỗi xuất hiện:

commandLineArgs = sys.argv

if len(commandLineArgs) > 1:
  pattern = commandLineArgs[1] + "_{}"
else:
  print('Enter a pattern for the new filenames as a command line argument')
  sys.exit()

3. Bên trong vòng lặp for, khi lặp qua từng file, hãy lấy phần mở rộng file của nó:

file_ext = os.path.splitext(filename)[1] 

4. Tạo tên file mới dựa trên mẫu đã cho. Thêm số vào cuối tên file và thêm lại phần mở rộng file:

new_filename = pattern.format(counter) + file_ext

5. Đổi tên file bằng tên file mới:

oldFileName = os.path.join(dir_path, filename)
newFileName = os.path.join(dir_path, new_filename)
os.rename(oldFileName, newFileName)

6. Tăng bộ đếm cho file tiếp theo:

counter += 1

7. Sau vòng lặp for, thông báo xác nhận sẽ xuất hiện:

print("All files renamed.")

8. Trên một dòng lệnh, điều hướng đến thư mục mà bạn đã lưu trữ script Python của mình. Sử dụng lệnh python, theo sau là mẫu để đổi tên file của bạn:

CMD với tên file và thông báo xác nhận
CMD với tên file và thông báo xác nhận

9. Mở file explorer và xem các file đã đổi tên:

Danh sách các file được đổi tên trong thư mục
Danh sách các file được đổi tên trong thư mục

Script Python là một cách rất hữu ích để tự động hóa các tác vụ đơn giản, chẳng hạn như đổi tên nhiều file cùng một lúc. Bạn có thể khám phá những cách khác để đổi tên hàng loạt file trên máy tính của mình.

Thứ Tư, 22/03/2023 15:47
51 👨 1.253
0 Bình luận
Sắp xếp theo
    ❖ Python