【发布时间】:2021-11-19 20:29:35
【问题描述】:
我有一个包含两个文件上传部分的谷歌表单。我希望能够将这些文件上传到两个不同的文件夹。第一个文件上传部分的文件应该放在文件夹一,第二个文件上传部分的文件应该放在文件夹二。我还想根据发件人的姓名自动命名文件夹。文件夹应如下所示:sendername_1、sendername_2 等,如果发件人具有相同的名称。我将如何做到这一点?我找到了下面的脚本,但它似乎只适用于文件夹 1。文件夹 2 包含来自第二个文件上传部分的文件,但它不会自动为它们创建文件夹。
function onFormSubmit(e) {
const folderId = "1y40PNXYXSm7Ue_b6nbVnauz7dzKiKj4u"; // Please set top folder ID of the destination folders.
const form = FormApp.getActiveForm();
const formResponses = form.getResponses();
const itemResponses = formResponses[formResponses.length-1].getItemResponses();
Utilities.sleep(3000); // This line might not be required.
// Prepare the folder.
const destFolder = DriveApp.getFolderById(folderId);
const folderName = itemResponses[0].getResponse();
const subFolder = destFolder.getFoldersByName(folderName);
const folder = subFolder.hasNext() ? subFolder : destFolder.createFolder(folderName);
// Move files to the folder.
itemResponses[2].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));
}
【问题讨论】:
-
你有什么问题?
-
我会让这个脚本工作以实现上述目标
-
那太宽泛了。专注于脚本中更独特的问题。不是来给你写免费代码的。
标签: javascript google-apps-script google-forms