Google Apps Script et Google Drive : fonctions pour gérer les dossiers et les fichiers de Drive – série de scripts 1

2

Vous avez besoin de supprimer d’un coup tous les fichier Sheets du drive datant d’il y a plus de deux ans et qui contiennent le mot “archive” ? Vous avez besoin de récupérer la liste des dossiers et des fichiers appartenant à certaines personnes dans un tableau Sheets ? …
Google Drive et Google Apps Script s’associent pour faciliter et automatiser des manipulations parfois répétitives. Gilbert Roinel vous a concocté une sélection applicable rapidement depuis votre Drive !

Suivez le guide pour prendre le contrôle sur votre espace de stockage préféré !

Cet article s’adresse à tous ceux qui souhaitent s’approprier les possibilités d’intervention sur une application, en particulier sur Google Drive, avec une toute petite appétence minimum pour le codage, sans pour autant avoir forcément pratiqué Apps Script et Java Script.

  1. Série 1 : Lister les dossiers ou les fichiers
  2. Série 2 : Créer des fichiers


Les scripts – série 1

Pour tout savoir comment mettre en place ces scripts, lire l’article suivant.

Numeriblog décline toute responsabilité en cas de dommage subit suite à une mauvaise utilisation d’un de ces scripts.

1. Liste des fichiers de votre Drive

function listeFichiers(){ 
// Enregistre le nom de chaque fichier dans le journal de l'utilisateur. 
var files = DriveApp.getFiles(); 
while (files.hasNext()) 
{ 
var file = files.next(); 
Logger.log("Nom de fichier: " + file.getName()); 
} 
} 

Afficher le journal pour voir la liste (CTRL+ENTREE)

2. Liste des fichiers présents dans un dossier

function fichiersDansDossier(){ 
//liste des fichiers du dossier "Sauvegarde" listé dans le journal de l'utilisateur 
var folderName = "SHEET / DOCS" ;
var folder = DriveApp.getFoldersByName(folderName); 
var files = folder.next().getFiles(); 
while (files.hasNext()) 
{ 
var file = files.next(); 
Logger.log(file.getName()); 
}
} 

3. Liste des fichiers modifiés depuis une certaine date et contenant un mot donné.

function listeFichiersDateMot(){ 
// Liste des fichiers dans le journal de l'utilisateur qui a été modifié après le 28 février 2019 dont le nom contient "MDP". 
var files = DriveApp.searchFiles("modifiedDate > '2019-02-28' and title contains 'MDP'"); 
while (files.hasNext()) 
 { 
  var file = files.next(); 
  Logger.log(file.getName()); 
 } 
} 

4. Liste des dossiers.

function listeDossiers(){
// Enregistre le nom de chaque dossier dans le journal de l'utilisateur.
var dossiers = DriveApp.getFolders (); 
while (dossiers.hasNext()) 
  { 
     var dossier = dossiers.next (); 
     Logger.log (dossier.getName ()); 
  }
} 

5. Liste les dossiers dont vous êtes propriétaire

function mesDossiers(){ 
//liste des dossiers dont vous êtes propriétaire dans le journal 
 var folders = DriveApp.searchFolders('"moi" in owners'); 
  while (folders.hasNext()) {
    var folder = folders.next();
    Logger.log(folder.getName());
  }
} 

6. Liste des dossiers enfants d’un dossier

function dossiersDansDossier(){ 
//liste des dossiers dans le dossier "Sauvegarde" dans le journal de l'utilisateur 
var currentClient = "Sauvegarde" 
var Folder = DriveApp.getFoldersByName(currentClient); 
var folders = Folder.next().getFolders(); 
while (folders.hasNext()) 
{ 
var folder = folders.next();
Logger.log("Nom des Dossiers dans "+ currentClient + " : " + folder.getName()); 
} 
} 

7. Liste des dossiers que vous possédez et qui sont suivis

function listeMesDossiersSuivis(){ 
// Enregistre le nom de chaque dossier dans le journal de l'utilisateur que vous possédez et qui est suivi. 
var folders = DriveApp.searchFolders("'moi' in owners"); 
while (folders.hasNext()) { 
var folder = folders.next(); 
Logger.log(folder.getName()); 
} 
} 

8. Supprimer un fichier selon son nom (Attention, ce script place des fichiers dans le corbeille)

function supprimerFichierParNom(){ 
//
var files = DriveApp.getFiles(); 
var fileName = "Fichier de test"; // Remplacer par le nom du fichier
while(files.hasNext()){ 
var file = files.next(); 
if(file.getName() === "Fichier de test")
  { 
   DriveApp.removeFile(file); break; 
  } 
 } 
} 

9. Supprimer les feuilles de calcul sans titre qui n’ont pas été mises à jour depuis une semaine (Attention, ce script place des fichiers dans la corbeille)

function suprimerSheetsVides(){ 
// Met à la corbeille toutes les feuilles de calcul sans titre qui n'ont pas été mises à jour depuis une semaine 
var files = DriveApp.getFilesByName("Feuille de calcul sans titre"); 
while (files.hasNext()) 
 { 
var file = files.next(); 
if (new Date() - file.getLastUpdated() > 7 * 24 * 60 * 60 * 1000) 
  {
    file.setTrashed(true); 
  } 
 } 
} 

10. Créer un dossier s’il n’existe pas

function creerDossier() { 
// crée un nouveau dossier si celui-ci n'existe pas 
var folderName= "masauvegarde" ;
var folder =DriveApp.getFoldersByName(folderName); 
if(folder.hasNext()) { 
 Logger.log("Le dossier existe déjà") 
} 
else 
{ 
 var folder = DriveApp.createFolder(folderName); 
 Logger.log("Un Nouveau dossier a été créé!"); 
} 
} 

11. Créer une feuille de calcul dans un dossier particulier

function creerSheet(){ 
 //créer une feuille de calcul dans un dossier particulier
folder = DriveApp.getFolderById(" ID#######Dossier####### ") ; //ID du dossier 
var ss = SpreadsheetApp.create("fichier") ; //nom du fichier 
var temp = DriveApp.getFileById(ss.getId()); 
folder.addFile(temp) ; 
DriveApp.getRootFolder().removeFile(temp) 
} 

12. Renommer un dossier

function renommeDossier(){ 
// Remplace le nom du dossier "Nom" par "Nouveau Nom" 
var folders = DriveApp.getFoldersByName("sauvegarde"); 
while (folders.hasNext()) 
  { 
    var folder = folders.next(); 
    folder.setName("Nouveau Nom"); // Modifier le nom comme souhaité 
  }
} 

13. Créer un fichier texte avec le contenu « Bonjour tout le monde! » 

function creationfichiertxt()
{ 
// Créez un fichier texte avec le contenu "Bonjour tout le monde!" 
DriveApp.createFile( 'Nouveau fichier texte' , 'Bonjour, monde!' ); 
} 

Exercice : Créer un document contenant la liste des fichiers compris dans un dossier.

14. Créer une image d’une carte routière dans le dossier racine : 

function creationfichierimage1()
{ 
// Créer un fichier image dans Google Drive à l'aide du service Maps. 
var blob = Maps.newStaticMap().setCenter('4 Avenue des Champs-Élysées, Paris').getBlob(); 
DriveApp.getRootFolder().createFile(blob); 
} 


Ces premiers scripts vous ont permis de tester les possibilités d’actions automatiques sur Drive. A vous d’imaginer des exploitations possibles, en fonction de vos besoins.

Laissez-nous un commentaire pour nous donner vos cas d’usage.

A bientôt pour la série 2.


Vous avez un projet autour de G Suite
et vous souhaitez nous solliciter :

formation | développement | paramétrage G Suite | interventions | …


Si vous avez trouvé une faute d’orthographe, veuillez nous en informer en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée .

2 Commentaires

Répondre à Lapiaute Annuler la réponse

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.