Comment copier une arborescence de dossiers dans Google Drive avec Google Apps Script ?

Dans le cadre de la gestion quotidienne de votre entreprise, il peut être utile de copier des structures complètes de dossiers dans Google Drive.

Que ce soit pour des sauvegardes, des duplications de projets ou une organisation améliorée, automatiser ce processus peut vous faire gagner un temps précieux.

Dans cet article, nous allons vous montrer comment utiliser Google Apps Script pour créer une fonctionnalité permettant de copier une arborescence de dossiers dans Google Drive.

Étape 1 : Créer le script Google Apps

Tout d’abord, vous devez accéder à votre Google Sheets et ouvrir l’éditeur de scripts en allant dans Extensions > Apps Script. Copiez et collez le code suivant dans l’éditeur de script :

function afficherBarreLaterale() {
  const html = HtmlService.createHtmlOutputFromFile('Index')
    .setTitle('Copier Arborescence');
  SpreadsheetApp.getUi().showSidebar(html);
}

function copierArborescence(idDossierSource, idDossierCible) {
  const dossierSource = DriveApp.getFolderById(idDossierSource);
  const dossierCible = DriveApp.getFolderById(idDossierCible);
  const feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // En-tête de la feuille
  if (feuille.getLastRow() === 0) {
    const enTete = ['Horodatage', 'Nom', 'Type', 'Chemin source', 'Chemin cible'];
    feuille.appendRow(enTete);
    const plage = feuille.getRange(1, 1, 1, enTete.length);
    plage.setFontWeight('bold');
    feuille.setFrozenRows(1);
  }

  copierContenuDossier(dossierSource, dossierCible, '', feuille);
}

Étape 2 : Créer une interface utilisateur

Pour rendre ce script accessible et facile à utiliser, nous allons créer une barre latérale dans Google Sheets. Ajoutez un fichier HTML nommé Index.html dans l’éditeur de scripts :

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <h1>Copier Arborescence</h1>
    <form>
      Source Folder ID: <input type="text" id="sourceFolderId"><br><br>
      Target Folder ID: <input type="text" id="cibleFolderId"><br><br>
      <button type="button" onclick="copierArborescence()">Copier</button>
    </form>
    <script>
      function copierArborescence() {
        var sourceFolderId = document.getElementById('sourceFolderId').value;
        var cibleFolderId = document.getElementById('cibleFolderId').value;
        google.script.run.copierArborescence(sourceFolderId, cibleFolderId);
      }
    </script>
  </body>
</html>

Étape 3 : Lancer le script

De retour dans votre éditeur de script, exécutez la fonction afficherBarreLaterale pour afficher la barre latérale dans votre Google Sheets. Dans la barre latérale, entrez l’ID du dossier source et celui du dossier cible, puis cliquez sur « Copier ».

Fonctionnalités du script

  • Interface Intuitive : Une barre latérale simple pour saisir les ID de dossiers source et cible.
  • Copie de contenu : Le script copie tous les fichiers et sous-dossiers, tout en conservant la structure d’origine.
  • Journalisation : Toutes les actions sont enregistrées dans la feuille de calcul active, avec des informations sur le nom, le type, et les chemins source et cible.

Grâce à ce script Google Apps, vous pouvez facilement dupliquer des arborescences de dossiers dans Google Drive, ce qui vous permet de gérer plus efficacement vos documents et projets. Cette solution est particulièrement utile pour les artisans et les chefs d’entreprise de PMI/PME qui cherchent à optimiser leur productivité.

Essayez ce script et voyez comment il peut simplifier vos opérations quotidiennes. Pour toute question ou assistance, n’hésitez pas à laisser un commentaire ci-dessous.

Laisser un commentaire