DriveApp.GetFoldersByName() 始终返回 true

问题描述 投票:0回答:1

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

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

问题是,即使文件夹不存在,它也说存在。

检查位于

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');
}

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

它在我的驱动器上运行良好。但后来我把它放在有很多文件夹的服务器驱动器中。是权限问题吗?或者我没有检索服务器中的当前文件夹?

我是否遗漏了任何类型的支票?

javascript google-apps-script google-sheets
1个回答
8
投票

找出问题所在。

DriveApp.getFoldersByName
返回一个
FolderIterator
,所以我必须在那之后做一个额外的测试..像这样:

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

像这样完美工作。

© www.soinside.com 2019 - 2024. All rights reserved.