0

我正在寻找一种在 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 搜索特定文件夹...我做错了吗?

谢谢!

4

2 回答 2

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)在内部搜索parent

于 2013-09-17T20:34:22.763 回答
0

代码正在运行。我有一些没有被检查的嵌套文件夹。

于 2013-09-18T03:16:51.563 回答