我正在寻找一种在Google Apps脚本中使用DriveApp搜索特定文件夹的方法。这是我尝试过的:
var folders = DriveApp.getFolderById('searchedFolderId');
var results = folders.searchFolders( "title contains '"+searchTerm+"'");
while (results.hasNext()) {
var folder = results.next();
// do something with search results here
}
每当我尝试这种方法时,我只得到文件夹迭代器中返回的第一个文件夹,即使还有很多其他结果。
我也尝试过:
var results = DriveApp.searchFolders( "'searchedFolderId' in parents and title contains '"+searchTerm+"'");
现在,每当我尝试这种方法时,我有时会在文件夹迭代器中返回多个找到的文件夹。有没有办法使用DriveApp API搜索特定文件夹...我做错了吗?
谢谢!
答案 0 :(得分:0)
鉴于结构:
A
|-> B
|-> C
|-> D
以下代码可能会有所帮助。
...
var parent = DriveApp.getFolderById('****************************'); // ID A
var folders = parent.getFolders();
while (folders.hasNext()) {
var folder = folders.next();
Logger.log(folder.getName());
}
var specificFolder = parent.getFoldersByName('C');
if(specificFolder.hasNext())
Logger.log(specificFolder.next().getName());
...
要搜索特定文件夹,您可以使用以下方法:getFoldersByName(name)
。
<强>更新强>
确实,您无法将searchFolders(params)与parent.getFolders()
一起使用,因为getFolders()会返回FolderIterator,但是,您可以使用parent.searchFolders(params)
在{{1}内部进行搜索}}
答案 1 :(得分:0)
代码正在运行。我有一些未经检查的嵌套文件夹。