google-apps-script 计数文件夹中的文件

google-apps-script count files in folder

我进行了搜索,但似乎找不到我要找的东西。

我正在寻找使我能够执行此伪代码的代码:

  1. 计算特定 Google 驱动器文件夹中的文件数(按文件夹 ID)
  2. 如果文件数超过 'x',请执行此操作{其他代码}
  3. 否则,退出

谁能帮帮我?

我找不到任何方法来计算文件的数量,所以我猜你需要遍历每个文件,并有一个计数器:

function countFilesInFolder() {
  var count,file,files,theFolder;//Define variables without assigning a value

  theFolder = DriveApp.getFolderById('your file ID');
  files = theFolder.getFiles();

  count = 0;

  while (files.hasNext()) {
   count++;
   file = files.next();
   //Logger.log(file.getName());
   if (count > 5) {
     fncNextFunction();
     break;
   };
 };

  Logger.log(count);
};

function fncNextFunction() {
  Logger.log('fncNextFunction');

};

注意:如果我只有计数器增量而没有获取下一个文件,脚本编辑器会冻结。

这是使用高级驱动器服务的替代方法:

//This requires the Drive API To be turned on in the Advanced Google Services
function countFilesInFolder() {

 var query = 'trashed = false and ' +
        "'Your Folder ID here' in parents";

  var filesInFolder = Drive.Files.list({q: query});

  Logger.log('filesInFolder: ' + filesInFolder.items.length);

  for (var i=0;i<filesInFolder.items.length;i++) {
    //Logger.log('key: ' + key);
    var thisItem = filesInFolder.items[i];
    Logger.log('value: ' + thisItem.title);
  };
};

有关使用页面标记列出 100 多个结果的示例,请参阅 The Documentation