Google Apps脚本:如何获取特定文件夹中所有文件的ID以及名称

时间:2013-10-22 22:46:25

标签: google-apps-script google-sheets google-drive-api

有关:Google Apps脚本 - Google云端硬盘 - 电子表格

我是编程语言的新手。

这就是我想要做的事情:

每天使用语法yymmdd

创建一个文件夹

在此文件夹中创建50份电子表格" MyTemplate"这是在Google云端硬盘中。

对文件名使用以下语法:yymmdd-01到yymmdd-50然后获取名为yymmdd-IDs的电子表格中列出的所有这些电子表格的所有名称和ID以及

这是我开始使用的一些代码,但我正在努力寻找合适的代码和语法。 作为一个新手我很难过,所以任何帮助都将受到赞赏:)

    function create50copies() {
      var TemplateFile = DocsList.getFileById("0bfdbdfIr_dGNsVndBTnNNeFGtlYXchhrdhrdc");
      var filesFolder = DocsList.getFolder("My Templates");
      var d = new Date();
      var curr_date = d.getDate();
      var curr_month = d.getMonth() + 1; //Months are zero based
      var curr_year = d.getFullYear(); //how do I get only the last two digits?
      // var curr_year = curry_year.substring(2,2); 

      var i;

      for (i = 1; i < 4; i++) {
       if ((i) < 10)
       {
       TemplateFile.makeCopy("Id " + curr_year + curr_month + curr_date + "-" + "0" + i).addToFolder(filesFolder);
         var ss = SpreadsheetApp.getActiveSpreadsheet();
         Logger.log(ss.getName());
            }
       else{
       TemplateFile.makeCopy("Id " + curr_year + curr_month + curr_date + "-" + i).addToFolder(filesFolder);
           }

        // TemplateFile.makeCopy("Id " + curr_year + curr_month + curr_date + "-" + i).addToFolder(filesFolder);
      }
    }

    function getids() {
     var files = DocsList.getFilesByType('spreadsheet', 0, 50);
     for (var i = 0; i < files.length; i++) {
       var spreadsheet = SpreadsheetApp.open(files[i]);
       Logger.log(spreadsheet.getName());
       Logger.log(spreadsheet.SpreadsheetApp.getActiveSpreadsheet().getId());
     }

    }

1 个答案:

答案 0 :(得分:0)

您可以在创建文件时检索文件的名称及其ID。 像这样的东西

var today=...; //get the name of the file
var folder= ...; get the folder in DriveApps
var arnames=[];
for (var i=0;i<50;i++){
  var filename=today+i;     
  var copy=tenplate.makeCopy(filename, folder); 
  var stId=copy.getId();
  arnames.push([filename,stId]);
}

Logger.log(arnames);