javascript - 如何创建谷歌脚本通过参数从文件夹路径查找文件?

标签 javascript file google-apps-script google-sheets directory

我的驱动器有一个文件夹列表。其中一些文件夹是与我共享的。示例:

/images
    logo.PNG
    mimdmap.jpg
/projects (shared)
    /webproject1
        doc1.doc
        finance_2017.xlsx

我想创建一个函数,如下所示:

function listFolderFiles(path, file, callback){
var founded = false;
//google drive validate if entire folder exist
var pathCheck = ?

    If(pathCheck == false){
        return callback (false);
    }else{
  //google drive script to return files list object 
        var filesList = ?
        //loop to find file
      for(var i=0;i<filesList.size();i++){
            if(filesList[0].name == file){
                founded = true;
            }
        }
 return callback(founded)
}

listFolderFiles("/projects/webproject1", "doc1.doc", function (ret){
Looger.log(ret);
});

最佳答案

这个答案怎么样?请将此视为几个答案之一。 Google Drive 中的每个文件和文件夹都有父文件夹的信息。所以你可以使用它来检索文件。在你的问题中,似乎没有相同的文件夹名称。所以我提出了一个使用这个的方法。

示例脚本:

function listFolderFiles(path, file, callback) {
  var folders = ~path.indexOf("/") ? path.split("/") : [path];
  var folder = DriveApp.getFoldersByName(folders[folders.length - 1]);
  var folder = folder.hasNext() ? folder.next() : null;
  if (folder) {
    var files = folder.getFiles();
    while (files.hasNext()) {
      var f = files.next();
      if (f.getName() == file) {
        return callback(true);
      }
    }
    return callback(false);
  } else {
    return callback(false);
  }
}

function main() {
  listFolderFiles("/projects/webproject1", "doc1.doc", function (ret){Logger.log(ret)});
}

注意:

  • 当您使用此脚本时,请运行main()函数。
  • 在此示例脚本中,由于使用了每个文件和文件夹的父文件夹信息,因此“/projects/webproject1”和“webproject1”路径获得相同的结果。

如果这对您没有用,我很抱歉。

关于javascript - 如何创建谷歌脚本通过参数从文件夹路径查找文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47521626/

相关文章:

c - 从文件中读取

google-apps-script - 谷歌代码不起作用

javascript - 在 JIRA REST API 中启用 CORS

javascript - 如何在 Canvas html5中获取上下文X和Y位置

c# - C# 中的文件分块性能

c - 从文件 txt 中分割字符串

google-apps-script - Gmail 的应用程序脚本 - 搜索确切的主题

google-apps-script - 如何使用脚本在 Google 表格中生成范围 ID 超链接 #rangeID=XXXXXXXXXX?

javascript - 测试数组的每个元素是否为真

javascript - Jquery - 条件为 true 的第一个实例