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é.
Soutenez mon travail
Si cet article vous a été utile et que vous souhaitez soutenir mon travail, vous pouvez me remercier en faisant un don via PayPal. Chaque contribution est grandement appréciée et m’aide à continuer à partager des astuces et conseils sur ce blog. Merci pour votre soutien !
L’Atelier Informatique vous accompagne dans vos projets technologiques en vous proposant des tutoriels et des solutions pour optimiser vos tâches quotidiennes