Maika8008
Thành viên gạo cội




Mục này nhằm giúp cho anh em lấy link hoặc ID file để gửi qua mail hàng loạt đã chia sẻ tại đây
Code sẽ ghi các thông tin kiểu thế này lên Sheet1 (chỉ định thẳng trong code)

Anh em thay cái tên BoiThuong bằng thư mục cần liệt kê của mình với lưu ý là thư mục BoiThuong này là thư mục cấp 1 nha, tức là nó chỉ sau MyDrive, có đường dẫn là MyDrive\\BoiThuong.
Code sẽ ghi các thông tin kiểu thế này lên Sheet1 (chỉ định thẳng trong code)

Anh em thay cái tên BoiThuong bằng thư mục cần liệt kê của mình với lưu ý là thư mục BoiThuong này là thư mục cấp 1 nha, tức là nó chỉ sau MyDrive, có đường dẫn là MyDrive\\BoiThuong.
JavaScript:
function listFiles() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
// Ghi tiêu đề ở hàng 1
sheet.getRange("A1").setValue("Tên file");
sheet.getRange("B1").setValue("ID");
sheet.getRange("C1").setValue("Link");
sheet.getRange("D1").setValue("Đường dẫn");
// Tìm thư mục con "BoiThuong" ngay dưới MyDrive
var folders = DriveApp.getFoldersByName("BoiThuong");
if (!folders.hasNext()) {
Logger.log("Không tìm thấy thư mục BoiThuong trong MyDrive");
return;
}
var rootFolder = folders.next();
// Xóa dữ liệu cũ từ A2:D
sheet.getRange("A2:D" + sheet.getLastRow()).clearContent();
var row = 2;
// Hàm đệ quy để duyệt thư mục và file bên trong
function listFilesRecursive(folder, path) {
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
var fileName = file.getName();
var fileId = file.getId();
var fileUrl = "https://drive.google.com/file/d/" + fileId + "/view";
var filePath = path + "\\" + fileName;
sheet.getRange(row, 1).setValue(fileName);
sheet.getRange(row, 2).setValue(fileId);
sheet.getRange(row, 3).setValue(fileUrl);
sheet.getRange(row, 4).setValue(path);
row++;
}
// Duyệt thư mục con
var subFolders = folder.getFolders();
while (subFolders.hasNext()) {
var subFolder = subFolders.next();
var subPath = path + "\\" + subFolder.getName();
listFilesRecursive(subFolder, subPath);
}
}
// Bắt đầu từ thư mục BoiThuong
listFilesRecursive(rootFolder, "MyDrive\\BoiThuong");
Logger.log("Đã liệt kê xong file trong thư mục BoiThuong và các thư mục con");
}

