我的驱动器有一个文件夹列表。其中一些文件夹是与我共享的。示例:
/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/