Kann ich einen Ordner in Google Drive duplizieren?

44

Ich muss einmal pro Woche einen ganzen Ordner auf meinem Google Drive duplizieren. Der Ordner enthält ca. 25 Dateien. Was ist eine einfache Möglichkeit, dies zu tun?

Dude2012
quelle
Von der Weboberfläche gehe ich aus. Dies ist akademisch, wenn Sie den Client verwenden und mit einem Ordner auf Ihrem PC synchronisieren.
Ale
Wollen Sie nur das Zeug in diesem Ordner sichern? Oder versuchen Sie es einem anderen Google-Konto hinzuzufügen? Benötigen Sie den gesamten Inhalt des Ordners oder nur die Zeiger?
William
Ich musste es duplizieren, da ich unterschiedliche Berechtigungen für sie haben möchte. Dazu muss ich getrennte Umgebungen haben. Aber mit Google Drive für PC hat es funktioniert!
Dude2012
Chrome-Plugin für Ordner kopieren: chrome.google.com/webstore/detail/copy-folder/…
Simon Woodside

Antworten:

19

Wenn Sie die Google Drive-Anwendung auf Ihrem PC verwenden, können Sie den Ordner kopieren und in das Google Drive-Verzeichnis einfügen. Dadurch wird er kopiert. Ich glaube nicht, dass dies über die Webanwendung möglich ist.

ComputerLocus
quelle
4
Leider für Linux-Benutzer, bis heute hat Google keine Unterstützung für "Google Drive Application". Daher müssen sie etwas namens " grive " verwenden
iammilind
Wird der gesamte neue Ordner erneut in das Web hochgeladen, oder ist ihm bekannt, dass der Inhalt des Ordners identisch ist, und er dupliziert ihn, ohne ihn erneut vollständig hochzuladen?
Julian
@Julian Ich würde davon ausgehen, dass es das Ganze wieder hochlädt.
ComputerLocus
Ich habe gerade bestätigt, dass es tatsächlich alle Dateien erneut hochlädt. Schade.
Julian
Ohne die App ist es auch möglich, mit der rechten Maustaste zu klicken - den Ordner als Zip herunterzuladen und nach dem Entpacken wieder hochzuladen
kamidude
10

Habe ein App-Skript geschrieben, um dieses Problem zu beheben. Sie können jeden Ordnerinhalt sowie die darin enthaltene Struktur kopieren. Mithilfe von Skripten können Sie die Google Drive-Desktop-App überflüssig machen. Durch Hinzufügen von Triggern können Sie den Prozess sogar automatisieren.

GDrive Copy Ordnerstruktur / Inhaltsskript

Ordnerstruktur in Google Drive kopieren

Bitte beachten Sie :

  • _copyDadurch werden auch allen Unterordnern Suffixe hinzugefügt
  • Das folder_you_want_copied_copySymbol befindet sich in der höchsten übergeordneten Hierarchie Ihres Google Drive. Wenn Sie also einen Unterordner Ihres Laufwerks kopiert haben, sprudelt es beim Kopieren auf die höchste Ebene
Shunmugh Sundaram
quelle
Super coole Funktion, perfekt auch für sehr große Ordner mit Hunderten von Unterordnern und Tausenden von Dateien (einige waren extra groß). Danke Shunmugh!
Kubusz
3
fügt auch das Suffix "_copy" zu allen Unterordnern hinzu, yikes!
Manas
5

Wenn Sie sich in der Google Drive-Weboberfläche befinden ...

  1. Erstellen Sie einen neuen Ordner und geben Sie ihm den gewünschten Namen.

  2. Gehen Sie in den bereits vorhandenen Ordner, wählen Sie alle Dateien aus, klicken Sie mit der rechten Maustaste und klicken Sie auf Kopieren.

  3. Wählen Sie alle Kopien aus, klicken Sie mit der rechten Maustaste und klicken Sie auf Verschieben nach. Wählen Sie den neuen Ordner.

Beachten Sie, dass diese Methode nicht funktioniert, wenn der Ordner, den Sie kopieren möchten, Unterordner enthält.

Brandon
quelle
4
Es gibt keine Option "Kopieren" im Kontextmenü. Es gibt "Kopie erstellen". Was Sie damit meinen, ist, eine Kopie aller Dateien zu erstellen, die Kopien zu markieren und sie in den neuen Ordner zu verschieben.
Blisterpeanuts
Man muss auch alle Dateien umbenennen, nachdem man sie in den neuen Ordner verschoben hat, um das Präfix "Kopie von" zu entfernen.
Tom
Dies führt dazu, dass allen Dateien "Kopie von" vor den Dateinamen steht.
Elijah Lynn
@Blisterpeanuts Es gibt auch kein "Kopieren", wenn Sie einen Ordner kopieren möchten - auch wenn er leer ist. Ärgerlicherweise, wenn Sie mit einer Vorlage mit leeren Verzeichnisnamen beginnen möchten
Michael
Wenn Sie eine Gruppe von Dateien per Drag & Drop verschieben, während Sie die Strg-Taste gedrückt halten, wird neben dem Mauszeiger ein "+" angezeigt. Dies scheint zu funktionieren. Die "kopierten" Dateien sind jedoch nur Hardlinks . Sie haben dieselbe ID. Wenn Sie sie löschen, werden sie gelöscht sowohl diese Kopie als auch die Originaldatei , die nach den letzten Aktivitäten wiederhergestellt werden muss. AFAIK das ist ein Fehler in Google Drive.
Pablo A
3

Sehr späte Antwort für das OP, und ich denke, zum Zeitpunkt des Fragens nicht einmal möglich, aber das ist, was ich heute mache:

  1. Wählen Sie den Ordner aus, den Sie duplizieren möchten.
  2. Zweitens klicken Sie darauf und wählen Sie dann "Herunterladen" aus dem Einblendmenü
  3. Lassen Sie meinen Browser das komprimierte Archiv in einem temporären Verzeichnis speichern
  4. Extrahieren Sie den Ordner aus dem Archiv und geben Sie ihm einen neuen Namen
  5. Zurück in Drive; Klicken Sie auf die große blaue Schaltfläche "Neu" und wählen Sie "Ordner hochladen" aus dem Dropdown-Menü.
  6. Zurück in meinem Computer; Nehmen Sie den neu benannten Ordner und ziehen Sie ihn zurück in Drive.
  7. Die Toilette spülen

Hinweis: Dies ist eine Lösung, wenn Sie viele kleine Dateien und Unterordner haben, die zusammen eine klein komprimierte Datei ergeben. Die Nützlichkeit nimmt mit zunehmender Größe der komprimierten Datei ab.

Martin Bramwell
quelle
1
Das Hauptproblem dieser Lösung - abgesehen von der offensichtlichen Notwendigkeit, genügend Speicherplatz zu haben, um den gesamten Laufwerksinhalt zweimal lokal zu speichern (sowohl komprimiert als auch extrahiert) - besteht darin, dass alle Google-Dokumente in das entsprechende MS OpenOffice-Dokumentformat exportiert werden und dann Wenn Sie sie erneut laden, müssen Sie sie wieder in Google-Formate konvertieren und alle dadurch verursachten Formatierungsprobleme beheben.
Guss
3

Ich verzichte lieber darauf, Dritten Zugriff auf mein Laufwerk zu gewähren, es sei denn, ich habe wie Lucky 711 mein eigenes Skript geschrieben. Ich lasse es hier für zukünftige Abenteurer von Google-Ergebnissen. Der Ordner und sein gesamter Inhalt werden kopiert. Für meinen Anwendungsfall habe ich es geschrieben, um Dateien mit mehreren übergeordneten Elementen zu verarbeiten, indem ich den kopierten Ordner einfach als neues übergeordnetes Element hinzufügte. Wenn Sie das nicht möchten, lassen Sie den Teil "Zählen Sie die Eltern, die nicht diese Eltern sind" fallen.

function copyFolderAndContentsToFolder(folderToCopyId, newParentFolderId, newFolderName) {

  var folderToCopy = DriveApp.getFolderById(folderToCopyId);
  var newParentFolder = DriveApp.getFolderById(newParentFolderId);

  // Create the copy of the folder
  var newFolder = newParentFolder.createFolder(newFolderName);

  // Copy all the files in that folder
  var files = folderToCopy.getFiles();
  while (files.hasNext()) {
    var file = files.next();

    // Count the parents that aren't this parent
    var countOfOtherParents = 0;
    var parents = file.getParents();
    while (parents.hasNext()) {
      var parent = parents.next();
      if (parent.getId() !== folderToCopyId) { countOfOtherParents++; }
    }

    // If it's unique, then copy it. Otherwise, just add it to the new parent.
    if (countOfOtherParents == 0) {
      file.makeCopy(file.getName(),newFolder);
    } else {
      newFolder.addFile(file);
    }

  }

  // Copy all the subfolders in that folder
  var folders = folderToCopy.getFolders();
  while (folders.hasNext()) {
    var folder = folders.next();
    copyFolderAndContentsToFolder(folder.getId(), newFolder.getId(), folder.getName());
  }

}

Wenn Sie als Referenz neue Kopien von Dateien mit mehreren übergeordneten Elementen erstellen möchten, anstatt nur den neuen Ordner als weiteres übergeordnetes Element hinzuzufügen, sieht der kürzere Code folgendermaßen aus:

function copyFolderAndContentsToFolder(folderToCopyId, newParentFolderId, newFolderName) {

  var folderToCopy = DriveApp.getFolderById(folderToCopyId);
  var newParentFolder = DriveApp.getFolderById(newParentFolderId);

  // Create the copy of the folder
  var newFolder = newParentFolder.createFolder(newFolderName);

  // Copy all the files in that folder
  var files = folderToCopy.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    file.makeCopy(file.getName(),newFolder);
  }

  // Copy all the subfolders in that folder
  var folders = folderToCopy.getFolders();
  while (folders.hasNext()) {
    var folder = folders.next();
    copyFolderAndContentsToFolder(folder.getId(), newFolder.getId(), folder.getName());
  }

}
Ingenieur Toast
quelle
Wie führen Sie dieses Skript aus? Oder wie bekommt man die Eingabeparameter?
roydukkey
Die Eingaben sind die ID des Ordners, den Sie kopieren möchten, die ID des Ordners, in dem Sie die Kopie erstellen möchten, und der Name, den die Kopie haben soll. Um die ID eines Ordners abzurufen, navigieren Sie zu diesem und sehen Sie sich das Ende der URL an. Es ist wahrscheinlich so ähnlich, 1jVlkj------------------------Gk3D7außer dass alle Bindestriche Zeichen sind. Diese Kauderwelsch-Zeichenfolge ist die eindeutige ID, die Google zugewiesen hat. Sobald Sie die drei Eingänge haben, würden Sie diese Funktion von einer anderen Funktion mit so etwas wiecopyFolderAndContentsToFolder('superLongIdString','anotherLongIdString','NewFolderName')
Engineer Toast
Das ist fast perfekt, aber in meinem Fall habe ich Dateien, die mit verschiedenen Ordnern verknüpft sind. Anstatt die Datei zu kopieren, wird nur der Link kopiert.
Roydukkey
Wenn Sie Dateien meinen, die an mehreren Orten existieren (dh mehrere Eltern haben), wird dies im Beitrag angesprochen. Sie können nur die countOfOtherParents++;Zeile kopieren und das wird es tun. In meinem Anwendungsfall wollte ich ausdrücklich, dass diese Dateien einfach einem anderen übergeordneten Element zugeordnet werden, anstatt eine neue Kopie der Datei zu erstellen. Wenn Sie Dateien meinen, die als Hyperlinks zum Öffnen anderer Ordner fungieren, dann wusste ich nicht, dass Sie das tun könnten.
Ingenieur Toast
IE, die minimale Änderung wäre dies, aber der "sauberere" Code wäre dies
Engineer Toast
3

Sie können das Add-On " Ordner kopieren " für Google Spreadsheets verwenden:

  1. Erstellen Sie eine Google-Tabelle
  2. Klicken Sie auf Add-ons > Get add-onsund fügen Sie das 'Copy Folder' Add-On hinzu
  3. Wählen Sie den Ordner aus, den Sie kopieren möchten
  4. getan

Siehe das Video-Tutorial .

Mit diesem Chrome-Webshop-Google-App-Skript können Sie dieses Ergebnis erzielen. Hierfür muss keine Google-Tabelle erstellt werden.

Abbood
quelle
7
Dies erfordert, dass das Addon "Anzeigen und Lesen Ihrer E-Mail"
Michael Cole
@MichaelCole und andere problematische Berechtigungen: Tabellen verwalten, beliebige Websites laden und noch schlimmer: Offline-Zugriff. Ich empfehle, dass niemand dies installiert, bis die Berechtigungsprobleme behoben sind.
Guss
Ah .. es ist die mutige New Post Cambridge Analytica Welt, in der wir jetzt leben
Abbood
Das Verwalten von Arbeitsblättern besteht darin, eine Arbeitsblatt-Protokolldatei hinzuzufügen, während sie ausgeführt wird.
Ajay,
@ Ajay Das war mein schlechtes. Vielen Dank für die erneute Einreichung.
jonsca
1

Ich verwende mehrere Computer und möchte die Laufwerks-App nicht auf allen Computern installieren. Daher habe ich das folgende Skript geschrieben, das auf der Site kopiert werden soll. Es ist hässlich und einfach, aber es funktioniert. Es kopiert nur einen Ordner und seine Dateien, keine Unterordner. Ich bin mir sicher, dass es noch Verbesserungspotenzial gibt. Nehmen Sie das und verbessern Sie es, aber ich hoffe, es ist zumindest von Anfang an hilfreich.

Nach einem Kommentar unten ist dies ein Google Apps-Skript. Sie können es verwenden, indem Sie die Google Scripting-App öffnen und dann den gesamten Code kopieren und in ein leeres Skript einfügen. Klicken Sie anschließend im Menü auf die Option zum Veröffentlichen und wählen Sie Als Webanwendung bereitstellen aus. Sie können dann auf den Link Letzter Code klicken oder die URL kopieren und in Ihren Browser einfügen. Anschließend finden Sie ein Feld, in das Sie den zu kopierenden Ordner und die Schaltfläche "Kopieren" eingeben können. Das sollte eine Kopie des von Ihnen benannten Ordners und eine Kopie aller darin enthaltenen Dateien erstellen.

Hinweis: Es werden keine Unterordner kopiert, nur die Dateien.

function doGet()
{
  // Build UI
  // Create UI object
  var copyUI = UiApp.createApplication();
  // Create Input box referenced later by the name explicitly set below
  var userInput = copyUI.createTextBox().setName("textbox1");
  //create button
  var enterButton = copyUI.createButton("copy");
  // add all objects to UI object
  copyUI.add(userInput).add(enterButton);

  //Create clicke event handeler and add input field to handeler
  var clickHandler = copyUI.createServerHandler('onClick')
  .addCallbackElement(userInput);

  // add handelrer to the copy button
  enterButton.addClickHandler(clickHandler);

  // instantiate GUI
  return copyUI;
}


function onClick(e)
{
  // call currently active application/gui
  var app = UiApp.getActiveApplication();

  //Pass in the value of the e paramater named 'textbox1'
  var input = e.parameter.textbox1;

  // log value passed in from user input
  //Logger.log(input);

  // perform file copy
  CopyFile(input);
}


function CopyFile(filename)
{
  // declaire variables
  var newFolder_String;
  var newFolder;
  var originalFolder;
  var fileArray;
  var loopCount;
  var arrayLength;
  var newFile;
  // get original folder id
  originalFolder = DocsList.getFolder(filename);
  Logger.log(originalFolder.getId());


  // create new "copy" folder using: createFolder(<filename>_copy)
  newFolder_String = filename + "_Copy";
  Logger.log(newFolder_String);
  newFolder = DocsList.createFolder(newFolder_String);

  // get folders and files from original file using: 
    //   getFiles() from original file into an array
  fileArray = originalFolder.getFiles();

  // Copy files into folder:
  arrayLength = fileArray.length;
  loopCount = 0;

  // looping through array of file
  for (loopCount = 0; loopCount < arrayLength; loopCount++)
  {
    // create file copies using: file[i].makeCopy() and newFile.addToFolder(CopyFolder)
    newFile = fileArray[loopCount].makeCopy();
    Logger.log(newFile.getName());
    newFile.addToFolder(newFolder)
  }

}
Glücklicher 711
quelle
-1

Um einen Ordner zu duplizieren, ziehen Sie ihn mit gedrückter STRG-Taste auf einen anderen Ordner.

Aborruso
quelle
9
Das dupliziert nicht; Es wird nur ein Zeiger erstellt. Ich habe dies getestet, indem ich einen Ordner mit gedrückter Strg-Taste an eine Reihe von Stellen gezogen habe und dann eine Datei in dem Ordner erstellt habe. Die Datei ist an jeder Stelle sichtbar.
Ale
Stimmt. Sie nennen es "Hinzufügen eines Ordners"
th3an0maly
4
-1, funktioniert nicht.
Pacerier