Google WorkspaceやGoogle Driveは容量が決まっています。その上限に達すると機能の制限を受けることも。
不要なファイルや容量の大きいファイルから削除する方法もありますが、大量だと手動で行うには限界が。
そこで自動で一括に大量のファイルを削除する方法をご紹介します。
Google ドライブ上で容量の大きいファイルの探し方
Google ドライブの左側のメニューに「保存容量」というメニューがあるのでクリック。
すると容量順にファイルが一覧で表示されます。
容量順になっていない場合には右側にある「使用容量」をクリックし、容量順にソートします。下矢印↓が「使用容量」の横に表示されていれば、大きいファイルから順に表示されている状態です。
手動での削除方法
使用容量が大きく、不要なファイルがあれば、選択して削除ボタンを押すか、ファイルを右クリックして削除することができます。
複数のファイルを削除したい場合は、Ctrlキー(Macの場合Commandキー)を押しながらクリックすると複数選択が可能です。
Shiftキーを押しながらファイルを選択すると最初にクリックしたファイルから次にクリックしたファイルまで一気に選択ができます。
保存容量画面でファイルの絞り込み
保存容量画面での上部に「種類」「最終更新」という絞り込み機能があります。
種類はファイルの種類、最終更新はファイルの保存された日時で絞り込める機能。
◯年◯月◯日以前のZipファイルだけ削除する、というような指定ができるので、削除したいファイルをより効率よく指定することができます。
ただ、どれだけ絞り込めても大量にファイルがある場合には、選択するのに時間もかかりますし、ブラウザの挙動が待機状態になることも。
そこで次の項目で一括削除する方法をご紹介します。
自動で一括削除する方法
アドオンを買うこともできるけれど無料(追加費用なし)で行うにはGoogle Apps Scriptを利用するのが一押し。
プログラムが書けなくてもChat GPTに命令して書かせてみましょう。
以下の例はChatGPT 4oで生成したGoogle Apps Scriptです。
Google driveの数千単位の大量のファイルを一括で削除できる方法はありますか?ファイルの複数選択しているようでは追いつかない数なので、なにかスクリプトやツールで一気に削除したいです。
function deleteFilesInFolder() {
var folderId = 'YOUR_FOLDER_ID_HERE'; // フォルダのIDをここに入力
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
file.setTrashed(true);
}
Logger.log('All files in the folder have been moved to trash.');
}
フォルダIDはフォルダを開いたときに表示される「https://drive.google.com/drive/folders/フォルダID」の最後の文字列です。
◯年◯月◯日以前のZipファイルだけ、という絞り込みして削除することはできますか?
function deleteOldZipFiles() {
var folderId = 'YOUR_FOLDER_ID_HERE'; // フォルダのIDをここに入力
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
var cutoffDate = new Date('YYYY-MM-DD'); // 削除するファイルの期限日を入力
while (files.hasNext()) {
var file = files.next();
var mimeType = file.getMimeType();
var lastUpdated = file.getLastUpdated();
// ファイルがZIP形式で、指定した日付以前の場合削除する
if (mimeType === MimeType.ZIP && lastUpdated < cutoffDate) {
file.setTrashed(true);
}
}
Logger.log('All matching files have been moved to trash.');
}
試してみると確かにゴミ箱までは移動。ただゴミ箱も空にしてしまいので追加修正。
以下はスクリプトは省略しますが、どのような命令をしたか参考にしてください。
結構時間がかかりそうです。
Google Apps Scriptには1回の実行で処理できる時間に制限があるため、時間がかかりすぎるとタイムアウトしてしまう可能性もあります。その場合、スクリプトを複数回に分けて実行する方法を考える必要があります。
先程のスクリプトで、ゴミ箱に移動ではなく、完全に削除させる方法もありますか?
最終的に生成されたスクリプトがこちら。
function deleteOldZipFilesPermanently() {
var folderId = 'YOUR_FOLDER_ID_HERE'; // フォルダのIDをここに入力
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
var cutoffDate = new Date('YYYY-MM-DD'); // 削除するファイルの期限日を入力
var batchSize = 100; // 一度に処理するファイルの数
var count = 0;
while (files.hasNext() && count < batchSize) {
var file = files.next();
var mimeType = file.getMimeType();
var lastUpdated = file.getLastUpdated();
// ファイルがZIP形式で、指定した日付以前の場合削除する
if (mimeType === MimeType.ZIP && lastUpdated < cutoffDate) {
file.setTrashed(true);
Drive.Files.remove(file.getId());
count++;
}
}
Logger.log(count + ' files have been permanently deleted in this batch.');
// トリガーをセットして再実行する
if (files.hasNext()) {
ScriptApp.newTrigger('deleteOldZipFilesPermanently')
.timeBased()
.after(1 * 60 * 1000) // 1分後に再実行
.create();
}
}
- 削除したいフォルダの位置が決まっている
- 削除したいファイルの期間が決まっている
という場合には使えるスクリプトになっています。
※ 動作保証は出来かねます。必要なファイルを削除しないように注意しましょう。
ただ、条件の指定などは、個別に指定したい方法が変わると思いますので、AIに生成させてみましょう。
Google Apps Scriptをドライブで実行
生成されたGoogle Apps Scriptを実行するには、Google ドライブで左上の「新規」をクリックし、「その他」の中の「Google Apps Script」を選択します。
「新しいプロジェクト」をクリックし「無題のプロジェクト」となっているプロジェクト名を分かりやすいものに変更し、スクリプトを貼り付け、実行します。
1時間程度で2~3年分のバックアップファイルの削除が完了。
手動でやるよりも短時間で削除することができました。
ゴミ箱を空にしてデータ容量回復
削除するだけのスクリプトだとゴミ箱に残ったままなので、その場合は、ゴミ箱も空にするとデータ容量が回復します。
ChatGPTに頼った方法にはなりますが、Google ドライブの容量を回復したい場合には簡単な方法です。
必要なファイルまで削除しないように、条件設定に注意しながら、一括削除をお試しください。
コメント