Chào mọi người,
Dạo gần đây mình có làm việc nhiều với Google Drive và nhận thấy việc liệt kê danh sách các tệp tin trong một thư mục cụ thể, kèm theo các thông tin như tên tệp, loại tệp, ngày tạo, dung lượng,... đôi khi khá tốn thời gian nếu làm thủ công, đặc biệt với những thư mục có hàng trăm, thậm chí hàng nghìn tệp.
Sau một thời gian tìm hiểu, mình đã viết một đoạn script nhỏ bằng Google Apps Script để giải quyết vấn đề này. Script này sẽ giúp bạn tự động tạo một danh sách các tệp tin trong một thư mục bạn chỉ định trên Google Drive và xuất ra một Google Sheet mới.
Cách hoạt động:
- Script sẽ yêu cầu bạn cung cấp ID của thư mục Google Drive cần liệt kê.
- Nó sẽ duyệt qua tất cả các tệp tin bên trong thư mục đó (bao gồm cả các thư mục con nếu bạn chọn).
- Thu thập các thông tin cần thiết: Tên tệp, Loại tệp, Ngày tạo, Ngày sửa đổi cuối, Kích thước, Đường dẫn.
- Tạo một Google Sheet mới và ghi toàn bộ thông tin này vào đó.
Ví dụ về code (đơn giản hóa):
function listFilesInFolder() {
var folderId = Browser.inputBox('Nhập ID thư mục Google Drive:');
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
var ss = SpreadsheetApp.create('Danh sách tệp tin - ' + folder.getName());
var sheet = ss.getActiveSheet();
sheet.appendRow(['Tên tệp', 'Loại tệp', 'Ngày tạo', 'Ngày sửa đổi', 'Kích thước', 'URL']);
while (files.hasNext()) {
var file = files.next();
sheet.appendRow([
file.getName(),
file.getMimeType(),
file.getDateCreated(),
file.getLastUpdated(),
file.getSize(),
file.getUrl()
]);
}
Browser.msgBox('Đã tạo xong danh sách tệp tin!');
}
Các bạn có thể tùy chỉnh thêm để lấy thêm thông tin hoặc xử lý các thư mục con. Mình thấy cách này khá hữu ích cho việc quản lý dữ liệu trên Drive.
Có ai có cách nào hay hơn hoặc muốn thảo luận thêm về Google Apps Script thì chia sẻ nhé!