首页 > 解决方案 > 从父文件夹中获取文件夹的名称和其中包含的文件的链接

问题描述

我有一些电影安排如下。

电影 / 蜘蛛侠 (2020) /spiderman-2020-sd-eng.mp4

我希望在电子表格中提取以下信息。

姓名 关联
蜘蛛侠 (2020) 链接电影mp4

其中: 蜘蛛侠(2020):是电影所在文件夹的名称 mp4 电影链接:它是 spiderman-2020-sd-eng.mp4 电影链接

我的代码提取了文件夹的名称,但它也提取了文件夹的链接......(我希望它提取文件夹的名称和电影的链接)。

我拥有的代码的结果:

// replace your-folder below with the folder for which you want a listing
function listFolderContents() {

  var foldersID = DriveApp.getFolderById("10Zw76wu2UNz3jufimUFGd8OJErPGnsih");
  var foldername = foldersID.getName();
  var folderlisting = 'listado de ' + foldername;
  
  var folders = DriveApp.getFoldersByName(foldername)
  var folder = folders.next();
  var contents = folder.getFolders();

  
  var ss = SpreadsheetApp.create(folderlisting);
  var sheet = ss.getActiveSheet();
  sheet.appendRow( ['name','link'] );
  var file;
  var name;
  var link;
  while(contents.hasNext()) {
    file = contents.next();
    name = file.getName();
    link = file.getUrl();
    sheet.appendRow( [name, link] );     
  }  
};

你能帮助我吗...?

标签: google-apps-scriptgoogle-drive-api

解决方案


  1. MOVIE两次获得相同的文件夹(foldersIDfolders
  2. 您没有迭代下的子文件夹MOVIE
  3. 您没有获取和迭代files子文件夹下的
function listFolderContents() {
  var foldersID = DriveApp.getFolderById("10Zw76wu2UNz3jufimUFGd8OJErPGnsih");
  var foldername = foldersID.getName();
  var folderlisting = 'listado de ' + foldername;
  var ss = SpreadsheetApp.create(folderlisting);
  var sheet = ss.getActiveSheet();
  sheet.appendRow( ['name','link'] );
  
  var folders = foldersID.getFolders();
  while (folders.hasNext()) {
    var folder = folders.next();
    var name = folder.getName();

    var files = folder.getFiles();
    while (files.hasNext()) {
      var file = files.next();
      var link = file.getUrl();
      sheet.appendRow([name, link]);
    }
  }
}

推荐阅读