Numeriblog Google Workspace Google Apps Script, la puissance des outils Google à portée de scripts Google Apps Script et Google Drive : fonctions pour gérer les dossiers et les fichiers de Drive – série de scripts 1

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

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. […]

personnes ont consulté cet article

2 minutes

Rédigé par Gilbert ROINEL - il y a 2 ans

Ce que vous allez découvrir

  • Les scripts - série 1

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


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 = "SHEETS / 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.

Voir ici la série 2.

Rédacteur

S’abonner
Notification pour
guest
8 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Lapiaute

Merci Gilbert ,plein de renseignements utiles,c’est vrai les possibilités sont énormes !

Cet avis vous a été utile ?

Christophe
Christophe

Excellent. Merci.

Cet avis vous a été utile ?

Christian
Christian

Cher Gilbert,
C’est vraiment TOP, clair, concis et accessible au béotien que je suis !
Bravo ! 🙂
Rares sont les tutoriels qui vont a l’essentiel !
Je suis grand utilisateur de GDrive, est-il possible de créer un script qui arrêterai le partage de dossier après une durée précise (2 heures par exemple)?
Merci
Bien à vous

Cet avis vous a été utile ?

Vincent Ragueneau
Vincent Ragueneau

Bonjour à tous,
Sauriez-vous si il est possible de récupérer la liste des drives partagés ainsi que la liste des membres et leur accés via app script?
Merci d’avance.
Vincent

Cet avis vous a été utile ?

Clément
Clément

Super article, merci
Dans le script 8. Supprimer un fichier selon son nom (Attention, ce script place des fichiers dans le corbeille), à la place de
if(file.getName() === « Fichier de test »)
ce n’est pas plutôt :
if(file.getName() === fileName)
Bonne journée

Cet avis vous a été utile ?

samiha
samiha

comment déplacer un fichier d’un dossier à un autre pour l’archiver quand on finit les actions à mener .

Cet avis vous a été utile ?

bansan
bansan

merci beaucoup pour le tuto et pour tes scripts
Je me permet directerment via ce commentaire de te demander ceci:
J’ai une liste de noms dans la colonne A d’un google sheet et j’aimerai creer un dossier par nom dans un dossier de mon google drive
j’ai bien vu le script concernant la creation d’un dossier
Par contre je ne sais pas comment lire la valeur d’une cellule et puis passer faire boucle pour passer a la prochaine
Merci beaucoup

Cet avis vous a été utile ?

DENIS
DENIS

Bonjour,
Vos exemples sont très intéressants mais même si je débute , je souhaite les adapter.
Pouvez-vous m’éclairer sur :
1° Je veux lister les fichiers commençant par TOTO2022
2° Obtenir la liste de ces fichiers non pas sur la console, mais dans un Google Sheet.
3° Peut-on passer des paramètres pour rendre les fonctions génériques.

Cet avis vous a été utile ?