2017-06-08 2 views
0

Derzeit wird ein Zapier-Prozess ausgeführt, bei dem automatisch drei neue Dateien aus einem Formular in einen Ordner in Google Drive mit dem Namen "New Users" hochgeladen werden. Jede Datei ist als Vorname_Nachname-Dateiname.ext formatiert, aber das ist nicht gut in Bezug auf die Organisation.Automatisches Erstellen eines neuen Google Drive-Ordners aus neuen Dateien

Stattdessen möchte ich dynamisch einen neuen Ordner mit dem Namen firstname_lastname mit den 3 neuen Dateien jedes Mal erstellen, wenn sie mit dem gleichen Vorname_Nachname kommen, anstatt einen allgemeinen Ordner "Neue Benutzer" mit Hunderten oder Tausenden von Dateien gefüllt .

Leider bin ich ein ziemlich Anfänger Programmierer, also bin ich mir nicht ganz sicher, wie man das mit Apps Script machen kann.

Irgendwelche Ratschläge?

Ich habe darüber nachgedacht, so etwas wie:

var files = DriveApp.getFiles(); 
    while (files.hasNext()) { 
    var file = files.next(); 
    Logger.log(file.getName()); 
    if file.getName().includes("firstname_lastname") { // Check if a file name contains the string firstname_lastname 
     var folders = DriveApp.getFolders(); 
     while (folders.hasNext()) { 
      var folder = folders.next(); 
      Logger.log(folder.getName()); 
      if folder.getName().includes("firstname_lastname") { // Check if a folder exists with a name that contains the string firstname_lastname 
       makeCopy(file.getName(), folder.getName()) // if said folder exists, make a copy of the the file and move it to that folder 
      } else { // if said folder does not exist... 
      var newFolderName = file.getName() // let the newFolderName be the same name as the file (I know this isn't right if I want the folder name to be firstname_lastname without the actual uploaded file name plus extension) 
      createFolder(newFolderName); // then create a folder that has the name newFolderName 
      makeCopy(file.getName(), folder.getName(newFolderName)) // then make a copy of the file and put it into the folder 
     } 
     } 
    } 
    } 

Antwort

0

Möglicherweise möchten Sie zunächst Ihren Stammordner „Neue Benutzer“ etablieren. Ich habe einen Ausschnitt für den Fluss erstellt:

//New Users Folder 
var rootFolder = DriveApp.getFolderById("FOLDER_ID"); 

function myFunction() { 
    var files = rootFolder.getFolders(); 
    while (files.hasNext()) { 
    var file = files.next(); 
    Logger.log(file.getName()); 

    if(file.getName() == fileuploadName){ 
    //copy file if folder is existing 
     file.addFile(child) 
    } 
    else{ 
    //create folder 
    var newFolder = rootFolder.addFolder(child); 
     newFolder.addFile(child) 
    } 
} 
Logger.log("Done") 

} 

Diese Strömung in Ordnung sein sollte, wenn Sie eine dynamische Erstellung von Ordner implementieren möchten Sie die Dateien in einen bestimmten Ordner Namen migrieren.

Hoffe, das hilft.

Verwandte Themen