使用searchFiles或getFilesByName不会产生任何结果

时间:2019-05-19 20:11:20

标签: google-apps-script

我正在尝试编写一个脚本,该脚本会将Google云端硬盘中的大量照片和视频分类到文件夹中,以使妻子更容易找到所需的内容。不幸的是,她必须使用云端硬盘而不是Google Photos,因此她无法使用Photos可以为她提供的更强大的排序功能。

警告:我不是程序员,所以我真的不知道自己在做什么。我认为我要告诉脚本要查找的文件夹,然后告诉它搜索在文件名方面符合特定条件的文件,但是脚本从其搜索结果返回null

我曾尝试使用searchFiles(以“名称包含[my string var]作为参数”)和getFilesByName(以我的字符串var作为参数)。在这两种情况下,我都得到了命名文件夹,但没有文件。


      var currDate = strMonth + strDay;
      var photos = currFolder.getFilesByName(
        "" + "2019" + currDate + "");

      var activeFolder = currFolder.createFolder(currDate);
      if (photos.hasNext()) {
        myLog = Logger.log("HasNext");

      } else {
        myLog = Logger.log("Doesn't HasNext");
      }
      while ( photos.hasNext() ) {
        var currPhoto = photos.next();
        currPhoto.makeCopy(activeFolder);
        myLog = Logger.log(currPhoto);
      }

我希望照片是脚本已找到的照片列表,然后可以将其复制到我创建的文件夹中。我的调试日志记录总是告诉我hasNext()是FALSE,这似乎与没有文件复制到文件夹的事实是一致的。

任何帮助将不胜感激。我确定我只是在做一些愚蠢的事情。谢谢!

1 个答案:

答案 0 :(得分:0)

以下是显示所有JPEG文件的示例

function findJPEGFiles() {
  var files=DriveApp.getFilesByType(MimeType.JPEG);
  var html='<style>td,th{border:1px solid black;}</style><table><tr><th>Name</th><th>Id</th><th>Url</th></tr>';
  while(files.hasNext()) {
    var file=files.next();
    html+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td></tr>',file.getName(),file.getId(),file.getUrl());
  }
  html+='</table>';
  var userInterface=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Files');
}