Tengo un formulario de Google que tiene dos secciones de carga de archivos. Quiero poder cargar esos archivos en dos carpetas diferentes. Los archivos de la primera sección de carga de archivos deben ir en la carpeta uno y los archivos de la segunda sección de carga de archivos deben ir en la carpeta dos. También quiero nombrar automáticamente las carpetas según el nombre de los remitentes. Las carpetas deben ir de la siguiente manera: sendername_1, sendername_2, etc., si los remitentes tienen el mismo nombre. ¿Cómo haría que esto sucediera? Encontré el script a continuación, pero parece que solo funciona con la carpeta 1. La carpeta 2 tiene los archivos de la segunda sección de carga de archivos, pero no crea automáticamente una carpeta para ellos.
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)); }Aquí hay una muestra de cómo lo abordaría:
function getIdFromUrl(url) { return url.match(/[-\w]{25,}/); } function automateFile (e) { var name = e.values[2] var file1 = e.values[3]; var file2 = e.values[4]; var drive = DriveApp; var parentFolder = drive.getFolderById("1vJcsklbZ_Lk0b3CH0JxUHN8UzNI0eKXV"); //Set Parent Folder ID var createFolder1 = drive.createFolder(name + '_1').moveTo(parentFolder); var createFolder2 = drive.createFolder(name + '_2').moveTo(parentFolder); var getfileId1 = getIdFromUrl(file1); //Gets the file ID 1 drive.getFileById(getfileId1).moveTo(createFolder1); // Moves the file to Folder1 var getfileId2 = getIdFromUrl(file2); //Gets the file ID 2 drive.getFileById(getfileId2).moveTo(createFolder2); // Moves the file to Folder2 }NOTAS: Este script se realizó en Google Sheets Apps Script, que es la hoja creada para Form Responses en Google Forms.
Asegúrate de crear un disparador así: 
Utilicé esta función getIdFromUrl(url) de esta referencia ya que el archivo file1 y el archivo file2 solo devuelven la URL completa, y no el ID del archivo, y a partir de ahora no existe un método getFileById para mover los archivos cargados desde su formulario.