LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Thursday, October 31, 2019

ドライブのゴミ箱内のファイルを完全削除したい(Drve API)


Googleドライブの指定したフォルダ内のファイルを完全に削除して復帰できなくしたい
では指定したフォルダ内のファイルを完全に削除するコードを書きました。

ここではゴミ箱に捨てたファイルを完全に削除するコードを書きます。

deleteTrashedFiles()を実行すると復帰できないので
Drive.Files.remove(id)
はコメントアウトしています。

Drive.Files.remove(id) を実行する場合は挙動を十分理解した上で使いましょう。

もう一度書きますが、この方法で削除したファイルは二度と復帰することができません。



コード.gs
function deleteTrashedFiles() {
  var contents = DriveApp.getTrashedFiles();
  var i = 0;
  while(contents.hasNext()) {
    var file = contents.next();
    var id = file.getId();
    i++;
    Logger.log(file.getName());// 削除されるファイル
    //Drive.Files.remove(id);// この行のコメントを外して実行すると削除されます
    Utilities.sleep(1000);
  }
}


補足

手元のドライブでやった時はゴミ箱にあるファイル数が多くて途中で何度もエラーになりました。

Utilities.sleep(1000);
を入れることで一度により多くのファイルを削除できるようになりましたが、それでもエラーが出て、何度か deleteTrashedFiles() を実行してゴミ箱のファイルを完全削除できました。


関連記事

Googleドライブのファイルを完全に削除したい(Drive API)
Googleドライブの指定したフォルダ内のファイルを完全に削除して復帰できなくしたい


参考

getTrashedFiles()
https://developers.google.com/apps-script/reference/drive/drive-app#getTrashedFiles()

Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...