Tự Động Đổi Tên Hàng Loạt Tập Tin Theo Định Dạng Chuẩn Bằng AutoIt

Trong công việc văn phòng và giảng dạy hàng ngày, việc sắp xếp và quản lý hàng trăm tập tin như bài tập, hóa đơn hay tài liệu thường tốn rất nhiều thời gian. Trong bài viết này, bạn sẽ học cách viết kịch bản AutoIt để quét thư mục và đổi tên hàng loạt tập tin một cách tự động, chính xác theo định dạng chuẩn.

Rename - Quickly Batch File Renaming in Linux
Ảnh minh họa 1: Rename - Quickly Batch File Renaming in Linux

Khái niệm

Đổi tên file hàng loạt (Batch Rename) là thao tác tự động thay đổi tên của nhiều tập tin trong cùng một hoặc nhiều thư mục dựa trên các quy tắc xác định. Trong AutoIt, thao tác này được thực hiện thông qua việc tìm kiếm các tập tin trong thư mục bằng các hàm duyệt file và cập nhật tên mới bằng hàm di chuyển/đổi tên file tích hợp sẵn.

Cú pháp

Để thực hiện tìm kiếm và đổi tên tập tin trong AutoIt, chúng ta sử dụng các hàm cơ bản sau:

  • FileFindFirstFile("path\pattern"): Khởi tạo tìm kiếm tập tin theo đường dẫn và mẫu (ví dụ: "C:\Docs\*.txt"). Hàm trả về một handle (mã quản lý) tìm kiếm.
  • FileFindNextFile($search): Trả về tên của tập tin tiếp theo khớp với điều kiện tìm kiếm từ handle $search.
  • FileClose($search): Đóng handle tìm kiếm sau khi hoàn thành công việc duyệt file.
  • FileMove("source", "destination" [, flag]): Đổi tên hoặc di chuyển tập tin từ đường dẫn nguồn source sang đường dẫn đích destination. Cờ flag tùy chọn (ví dụ: 1 = ghi đè nếu file đích đã tồn tại).

Ví dụ minh họa

Dưới đây là đoạn mã AutoIt tự động quét thư mục C:\TaiLieu, tìm tất cả các file có đuôi .txt và thực hiện đổi tên hàng loạt bằng cách thêm tiền tố Chuan_ vào trước tên file cũ:

#include <MsgBoxConstants.au3>; Khai báo đường dẫn thư mục làm việcLocal $sPath = "C:\TaiLieu\"Local $sSearchPattern = $sPath & "*.txt"; Bắt đầu tìm kiếm fileLocal $hSearch = FileFindFirstFile($sSearchPattern); Kiểm tra xem có tìm thấy file nào khôngIf $hSearch = -1 Then    MsgBox($MB_SYSTEMMODAL, "Thông báo", "Không tìm thấy tập tin phù hợp.")    ExitEndIfLocal $sFileName = ""Local $sNewFileName = ""While 1    ; Lấy tên tập tin tiếp theo    $sFileName = FileFindNextFile($hSearch)    If @error Then ExitLoop ; Thoát vòng lặp khi hết file    ; Tạo tên mới với tiền tố    $sNewFileName = "Chuan_" & $sFileName        ; Thực hiện đổi tên tập tin bằng FileMove    FileMove($sPath & $sFileName, $sPath & $sNewFileName)WEnd; Đóng handle tìm kiếmFileClose($hSearch)MsgBox($MB_SYSTEMMODAL, "Hoàn thành", "Đã đổi tên hàng loạt tập tin thành công!")

Lỗi thường gặp

  • Không đóng Handle tìm kiếm: Quên gọi hàm FileClose($hSearch) sau khi kết thúc vòng lặp duyệt file có thể dẫn đến việc chiếm dụng tài nguyên hệ thống.
  • Đường dẫn file không chính xác: Khi truyền tham số vào hàm FileMove, nếu quên ghép đường dẫn thư mục ($sPath) với tên file ($sFileName), chương trình sẽ không tìm thấy tập tin cần đổi tên.
  • Ghi đè file không mong muốn: Đổi tên file trùng với một file đã tồn tại trong thư mục mà sử dụng cờ ghi đè có thể làm mất dữ liệu quan trọng.

Bài tập/thực hành

Hãy viết một kịch bản AutoIt để quét thư mục chứa bài tập hoặc hóa đơn của bạn, tìm tất cả các file có định dạng .doc hoặc .pdf và đổi tên chúng bằng cách gắn thêm ngày tháng hiện tại vào sau tên file.

Tổng kết

Việc làm chủ các hàm làm việc với tập tin như FileFindFirstFile, FileFindNextFile và FileMove trong AutoIt sẽ giúp bạn dễ dàng xây dựng các công cụ tự động hóa công việc xử lý dữ liệu hàng ngày. Phương pháp này giúp tiết kiệm đáng kể thời gian và hạn chế tối đa sai sót khi quản lý khối lượng lớn tài liệu văn phòng.


Nguồn tham khảo


📚 Chuỗi bài: AutoIt - Làm Việc Thông Minh Hơn Với Tự Động Hóa Windows

Chuỗi bài viết hướng dẫn toàn diện từ cơ bản đến ứng dụng thực tế của AutoIt, giúp tối ưu hóa hiệu suất làm việc, tiết kiệm thời gian cho giáo viên, nhân viên văn phòng và kỹ thuật viên trên hệ điều hành Windows.

  1. 1. Giới thiệu về AutoIt và Lý do nên bắt đầu tự động hóa công việc ngay hôm nay
  2. 2. Hướng dẫn cài đặt AutoIt và SciTE Script Editor chi tiết cho người mới
  3. 3. Cấu trúc một chương trình AutoIt cơ bản và các cú pháp cần nhớ
  4. 4. Tự động hóa thao tác Chuột và Bàn phím với các hàm Send và MouseClick trong AutoIt
  5. 5. Quản Lý Và Tương Tác Với Cửa Sổ Ứng Dụng Windows Bằng AutoIt
  6. 6. Sử Dụng AutoIt Window Info Tool Để Xác Định Control ID Chính Xác
  7. 7. Tự Động Hóa Thao Tác Với File Và Thư Mục Trong AutoIt
  8. 8. Hướng Dẫn Đọc Và Ghi Dữ Liệu Từ File Text, INI Trong AutoIt
  9. 9. Tạo giao diện người dùng GUI cơ bản với AutoIt
  10. 10. Kịch Bản Tự Động Khởi Động Nhóm Phần Mềm Làm Việc Mỗi Sáng Bằng AutoIt
  11. 11. Tự Động Đổi Tên Hàng Loạt Tập Tin Theo Định Dạng Chuẩn Bằng AutoIt ← Bạn đang đọc
  12. 12. Tự Động Hóa Nhập Điểm Và Dữ Liệu Vào Hệ Thống Quản Lý Nhà Trường Với AutoIt
  13. 13. Tương tác và xử lý dữ liệu File Excel bằng thư viện Excel UDF trong AutoIt
  14. 14. Bắt Lỗi Và Tối Ưu Hóa Hiệu Năng Kịch Bản AutoIt
  15. 15. Đóng Gói Kịch Bản AutoIt Thành File Executable (.exe) Độc Lập Với Aut2Exe
  16. 16. Tự Động Hóa Tác Vụ Định Kỳ Bằng Cách Kết Hợp AutoIt Với Windows Task Scheduler
  17. 17. Tổng kết chuỗi bài và Định hướng nâng cao kỹ năng tự động hóa với AutoIt

← Bài trước: Kịch Bản Tự Động Khởi Động Nhóm Phần Mềm Làm Việc Mỗi Sáng Bằng AutoItBài tiếp theo: Tự Động Hóa Nhập Điểm Và Dữ Liệu Vào Hệ Thống Quản Lý Nhà Trường Với AutoIt →

Nhận xét