gpt4 book ai didi

google-apps-script - 在创建命名文件夹之前检查它是否存在

转载 作者:行者123 更新时间:2023-12-05 00:58:12 25 4
gpt4 key购买 nike

我试图将 Google Drive 中的特定文件插入到文件夹中。我还想检查是否有名称为 'testFolder' 的文件夹: 如果是,则将文件插入到已经存在的文件夹中,否则创建一个名为 'testFolder' 的文件.

到目前为止,这是我想出的,但它总是创建一个名为 'testFolder' 的新文件夹。 (所以用户现在有 10 个名为 'testFolder' 的文件夹 - 它不会重用第一个文件夹)。

var copyId = /* the id of the file to copy */;
function InsertFileToFolder() {
var file = DriveApp.getFileById(copyId);
var folder;
if (folderExists() == true){
folder = DriveApp.getFolder("testFolder"); //<-- No such thing in GAS i think?
} else {
folder = DriveApp.createFolder("testFolder");
}
folder.addFile(file);
}

//Check whether folder exists or not
function folderExists() {
var folders = DriveApp.getFolders();
var flag = false;
for(var i = 0; i < folders.length; i++){
if(folders[i].getName() == 'testFolder'){
flag = true;
break;
}
}
return flag;
}

最佳答案

没有length folders 的属性(property).您需要使用 hasNext() .

Google Documentation - Folder Class

// Log the name of every folder in the user's Drive.
var folder,folders;

folders = DriveApp.getFolders();

while (folders.hasNext()) {
folder = folders.next();
Logger.log(folder.getName());
}

如果找到要查找的文件夹,此代码将返回文件夹 ID:
function InsertFileToFolder() {
var file,folder,
folderIdOrFalse;
file = DriveApp.getFileById(copyId);

folderIdOrFalse = folderExists();

if (folderIdOrFalse !== false) {
folder = DriveApp.getFolderById(folderIdOrFalse);
} else {
folder = DriveApp.createFolder("testFolder");
}

folder.addFile(file);
};

function folderExists() { //Check whether folder exists or not

var folders = DriveApp.getFolders();
var theReturn = false,
i=0,
folderName = "",
folder;

while (folders.hasNext()) {
folder = folders.next();
folderName = folder.getName();

if (folderName === 'testFolder') {
theReturn = folder.getId();
break;
};
};

return theReturn;
};

关于google-apps-script - 在创建命名文件夹之前检查它是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33330901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com