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