Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2019年10月31日木曜日

ドライブのゴミ箱内のファイルを完全削除したい(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

Googleドキュメントに見出しを追加したい

今回の例では、ドキュメントの末尾に「見出しD」 を追加します。 見出しA, B, C, Dのスタイルは、見出し3 ( HEADING3 ) に設定しています。  下記Code.gsの  GOOGLE_DOCUMENT_URL を設定して  addHeadingToEnd()  を...