Liệt kê file trong 1 thư mục của Google Drive (3 người xem)

Người dùng đang xem chủ đề này

Maika8008

Thành viên gạo cội
Tham gia
12/6/20
Bài viết
4,893
Được thích
5,895
Donate (Momo)
Donate
Giới tính
Nam
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)
1774946833872.png

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");
}
 

Bài viết mới nhất

Back
Top Bottom