LoginSignup
2
0

More than 1 year has passed since last update.

Google ドライブから大量のファイルを削除する

Last updated at Posted at 2021-08-02

Google ドライブのルートから大量のファイルを削除する

【注意】
この記事はGoogle Drive上のファイル削除に関するものです。
誤って必要なファイルを消してしまわないよう、実行には充分注意してください。

どうしてこうなった

Google Colab用に動画から学習用のデータを切り出そうとして、Google ドライブのルートに大量(数万件)のファイルを吐き出してしまいました。

image.png

Colabでもう一度マウントして消そうと思ったのですが、ファイルが大量にあるとタイムアウトするんですね…。

↓やらかした人しか見られないマウントのタイムアウト
image.png

解決策

流石に手作業ではつらすぎるので、GASの助けを借りて削除することにしました。

GoogleDriveの画面から「新規」→「その他」→「 Google Apps Script」を開きます

gas_open.png

こんな感じでエディタ画面が開きます

gas_editor.png

エディタ画面に以下のスクリプトを貼り付けて保存(Ctrl + S)

function myFunction() {
  // ルートフォルダを取得
  var folder = DriveApp.getRootFolder()
  // ルートフォルダからjpeg形式のファイルだけを抽出
  var files = folder.getFilesByType("image/jpeg");

  var delCount = 0
  while (files.hasNext()) {
    var buff = files.next();
    var fileName = buff.getName()
    // 誤削除が怖いので念のためファイル名の先頭を確認
    if (fileName.startsWith("IMG_")) {
      delCount++
      var fileId = buff.getId()
      const file = DriveApp.getFileById(fileId);
      file.setTrashed(true); // ゴミ箱に移動
      Logger.log(`count:${delCount}, file: ${fileName}`);
    };
  };
}

保存が完了すると上段の実行ボタンが押せるようになるので、ボタンを押して実行

image.png

「権限よこせ」と言われるので「権限を確認」をクリック
image.png

怖めの警告が出ますが、自分で作ったものなので「詳細」から許可します
※当たり前ですが、自己責任でお願いしますね
image.png

安全ではないページだそうですが、自己責任で突き進みます
image.png

内容を確認して「許可」をクリック
image.png

権限を与えると、こんな感じで削除されていきます

image.png

Google Driveからゴミ箱を確認するとガンガン増えていってるので、時々空にしながら完了を待ちます。
GASは実行時間に制限があるようなので定期的に再実行しなければなりませんが、手作業よりだいぶ楽になりました。

trash.png

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0