[Script] Supprimer un fichier GSheet du drive

Bonjour,

Je voudrais supprimer un fichier par un nom:

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

J'ai active sur mon GS l'API DRIVE.

Mais rien ne se supprime quand je lance le script.

Je lance le script demon fichier GS du drive.

Jack

Jack,

ce n'est plus possible, deprecated method , https://developers.google.com/apps-script/reference/drive/drive-app#deprecated-methods_1

on doit par contre pouvoir faire un setTrashed

function supprimerFichierParNom() {
  var files = DriveApp.getFiles();
  var fileName = "essai"; // Remplacer par le nom du fichier
  while (files.hasNext()) {
    var file = files.next();
    if (file.getName() === "essai") {
      file.setTrashed(true);
    }
  }
}

Si je veux faire un setTrashed de plusieurs fichiers avec un meme script est ce possible? Si oui comment?

Le mieux est d'appeler cette fonction

function supprimerFichierParNom(fileName) {
  var files = DriveApp.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    if (file.getName() == fileName) {
      file.setTrashed(true);
    }
  }
}

et donc

supprimerFichierParNom("fichier un")
supprimerFichierParNom("fichier Z")
supprimerFichierParNom("mon fichier compte en banque")
supprimerFichierParNom("mes maîtresses")

edit : remplacement "essai" par fileName of course !

if (file.getName() === "essai") {

"essai" reste "essai" ou change de nom?

A quoi sert "essai"?

Jack

ah oui la ligne est à supprimer dans

https://forum.excel-pratique.com/sheets/script-supprimer-un-fichier-gsheet-du-drive-169757#p1052564

et j'ai mis

function supprimerFichierParNom(fileName) 

Je vois toujours la ligne dans ton dernier post:

if (file.getName() === "essai") {

Comment faire donc?

ah ben oui désolé ...

function supprimerFichierParNom(fileName) {
  var files = DriveApp.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    if (file.getName() === "essai") {
      file.setTrashed(true);
    }
  }
}

supprimerFichierParNom("Sélection")
supprimerFichierParNom("ggg")

Ca ne supprime pas les deux fichiers je viens d'essayer.

Il y a quelquechose que je ne comprend pas.

Si tu peux m'ecrire le code stp

Jack

tu dois inclure les appels dans une fonction et en effet, je n'avais toujours pas remplacé "essai" par fileName (mon cerveau avait disjoncté)

exemple

function jeVeuxSupoprimerLesFichiers() {
  supprimerFichierParNom("Sélection")
  supprimerFichierParNom("ggg")
}

function supprimerFichierParNom(fileName) {
  var files = DriveApp.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    if (file.getName() == fileName) {
      file.setTrashed(true);
    }
  }
}

Bonjour,

Comment supprimer des fichiers qui se trouve dans un dossier "XX1" et un sous dossier "x2" du drive?

Comment supprimer des fichiers qui se trouve dans un dossier "x3" du drive?

dans le meme principe que celui la mais mais avec des dossier qui se trouve dans le drive.

Merci

essaie ceci

function test(){
  supprimerFichierParNomDunDossier('ici le nom du fichier','ici le nom du dossier')
}
function supprimerFichierParNomDunDossier(fileName,nomDuDossier) {
  var files = DriveApp.getFolderById(getFolderId(nomDuDossier)).getFiles();
  while (files.hasNext()) {
    var file = files.next();
    if (file.getName() == fileName) {
      file.setTrashed(true);
    }
  }
}
function getFolderId(name){
  var id;
  var dossiers = DriveApp.getFoldersByName(name);
  if (dossiers.hasNext()) {
    var dossier = dossiers.next();
    id = dossier.getId(); }
  else {
    var dossier = DriveApp.createFolder(name);
    id = dossier.getId();
  }
  return id;
}

Si j'ai plusieurs fichiers dans differents dossiers j ecris ceci?

function test(){
  supprimerFichierParNomDunDossier('X1','AA')
  supprimerFichierParNomDunDossier('X2','BB')
  supprimerFichierParNomDunDossier('X3','CC')
  supprimerFichierParNomDunDossier('X4','DD')
}
function supprimerFichierParNomDunDossier(fileName,nomDuDossier) {
  var files = DriveApp.getFolderById(getFolderId(nomDuDossier)).getFiles();
  while (files.hasNext()) {
    var file = files.next();
    if (file.getName() == fileName) {
      file.setTrashed(true);
    }
  }
}
function getFolderId(name){
  var id;
  var dossiers = DriveApp.getFoldersByName(name);
  if (dossiers.hasNext()) {
    var dossier = dossiers.next();
    id = dossier.getId(); }
  else {
    var dossier = DriveApp.createFolder(name);
    id = dossier.getId();
  }
  return id;
}

Oui, tout à fait !

Je pense aussi que si le nom des dossiers est unique, ce n'est pas la peine de dire le fichier F du dossier X dans le dossier Y. Par contre s'il y a u, dossier X dans Y et dans Z il faudra le dire et compléter la macro.

Bonjour,

J'ai un dossier X dans Y comment ecrire donc le code?

Merci

s'il n'y a qu'un seul dossier X dans ton drive, oublie Y

supprimerFichierParNomDunDossier('leFichierASupprimer','X')
Rechercher des sujets similaires à "script supprimer fichier gsheet drive"