DriveApp.GetFoldersByName()始终返回true

时间:2015-04-21 10:23:01

标签: javascript google-apps-script google-sheets

我一直在玩谷歌驱动器脚本。

我需要从电子表格创建一个文件夹,以防有名称的文件夹不存在。

但问题是它说文件夹存在,即使它没有。

检查位于try函数内。

像这样:

try {
   //currentName is the name of the folder and it's working properly
   var folder = DriveApp.getFoldersByName(currentName);
   Logger.log('That folder already exists!')
} catch(err) {
   var folder = DriveApp.createFolder(currentName);
   Logger.log('Folder created because it didnt exist');
}

即使它不存在,它总是找到一个文件夹的原因是什么?

它在我的驱动器上工作正常。但后来我把它放在一个有很多文件夹的服务器驱动器中。这是权限问题吗?或者我没有检索到服务器中的当前文件夹?

我错过了任何类型的支票吗?

1 个答案:

答案 0 :(得分:3)

找出问题所在。

DriveApp.getFoldersByName会返回FolderIterator,因此我必须在此之后再做一次测试..就像这样:

var folder = DriveApp.getFoldersByName(currentClient);
if(folder.hasNext()) {
    Logger.log('File already exists')
} else {
    var folder = DriveApp.createFolder(currentClient);
    Logger.log('New folder created!');
}

它完全像这样。