子文件夹搜索和停止(Google Apps 脚本/Javascript)
Subfolder Search and Stop (Google Apps Script / Javascript)
我发现了一些代码 here 几乎可以满足我的需要,但是当我找到有问题的文件夹时,我试图破坏递归函数。目前,我的 console.log returns“未定义”。
这可能很简单;就是看不出来。
这是我的(大部分是被盗的)代码:
function moveFile(e) {
var FileNo = e.parameters.FileNo;
var destFolder = e.formInput.input_field;
// Get the Folder
var Folders = DriveApp.searchFolders("title contains '"+FileNo+"' and trashed = false and hidden = false");
var Folder = Folders.next().getId();
var url = start(Folder, destFolder);
console.log(url);
}
function start(FolderID, destFolder) {
folder = DriveApp.getFolderById(FolderID);
var response = listFolders(folder, destFolder);
//console.log(response);
return response;
}
function listFolders(folder, destFolder) {
//starting point, we come here from start() or from the bottom of this function
var destFolder = destFolder;
//check the name
var name = folder.getName();
if (name.match(destFolder)) {
//console.log(folder.getUrl());
var response = folder.getUrl();
return response;
}
//now see if this folder has subfolders
var subfolders = folder.getFolders();
//if it has, we call this function again
while (subfolders.hasNext()) {
listFolders(subfolders.next(), destFolder);
}
}
感谢任何慷慨解囊的人parent。
检查是否已返回响应:
while (subfolders.hasNext()) {
var tempRes = listFolders(subfolders.next(), destFolder);
// if it returned a value, return the value
if(tempRes)
return tempRes;
}
正在搜索 test9
文件夹:
- 原始脚本输出:
- 应用更改:
我发现了一些代码 here 几乎可以满足我的需要,但是当我找到有问题的文件夹时,我试图破坏递归函数。目前,我的 console.log returns“未定义”。
这可能很简单;就是看不出来。
这是我的(大部分是被盗的)代码:
function moveFile(e) {
var FileNo = e.parameters.FileNo;
var destFolder = e.formInput.input_field;
// Get the Folder
var Folders = DriveApp.searchFolders("title contains '"+FileNo+"' and trashed = false and hidden = false");
var Folder = Folders.next().getId();
var url = start(Folder, destFolder);
console.log(url);
}
function start(FolderID, destFolder) {
folder = DriveApp.getFolderById(FolderID);
var response = listFolders(folder, destFolder);
//console.log(response);
return response;
}
function listFolders(folder, destFolder) {
//starting point, we come here from start() or from the bottom of this function
var destFolder = destFolder;
//check the name
var name = folder.getName();
if (name.match(destFolder)) {
//console.log(folder.getUrl());
var response = folder.getUrl();
return response;
}
//now see if this folder has subfolders
var subfolders = folder.getFolders();
//if it has, we call this function again
while (subfolders.hasNext()) {
listFolders(subfolders.next(), destFolder);
}
}
感谢任何慷慨解囊的人parent。
检查是否已返回响应:
while (subfolders.hasNext()) {
var tempRes = listFolders(subfolders.next(), destFolder);
// if it returned a value, return the value
if(tempRes)
return tempRes;
}
正在搜索 test9
文件夹:
- 原始脚本输出:
- 应用更改: