はじめに
Google Driveに大量のファイルを保存していると、同じ名前の重複ファイルが増えてしまうことがある。これが原因でディスクスペースが無駄に消費され、管理が煩雑になることもある。本記事では、Google Apps Script(GAS)を用いてGoogle Drive内の重複ファイルを自動的に削除するスクリプトを紹介する。
スクリプトの概要
このスクリプトは指定したフォルダ内の重複ファイルを検出し、重複しているファイルのうち最初の一つを残して他を削除する。スクリプトの実行により、ディスクスペースの節約とファイル管理の効率化を図ることができる。
スクリプトの説明
以下が重複ファイルを削除するためのスクリプトである。
function deleteDuplicateFilesKeepOne(folder) {
const files = folder.getFiles();
const fileNames = new Map();
while (files.hasNext()) {
const file = files.next();
const name = file.getName();
if (fileNames.has(name)) {
file.setTrashed(true);
Logger.log('重複ファイルを削除しました: ' + name);
} else {
fileNames.set(name, file.getId());
}
}
}スクリプトの詳細解説
- ファイルの取得:
folder.getFiles()メソッドを使用して、指定したフォルダ内の全てのファイルを取得する。 - 重複ファイルの検出:
Mapオブジェクトを使用して、ファイル名をキーとして保持する。ファイル名が既に存在する場合は重複と判断する。 - 重複ファイルの削除: 重複ファイルを
setTrashed(true)メソッドを使用して削除する。これにより、ゴミ箱に移動される。
ブログ記事のタイトルと構成を以下のように提案する。
タイトル: Google Driveの重複ファイルを自動削除するGASスクリプトの紹介
はじめに
Google Driveに大量のファイルを保存していると、同じ名前の重複ファイルが増えてしまうことがある。これが原因でディスクスペースが無駄に消費され、管理が煩雑になることもある。本記事では、Google Apps Script(GAS)を用いてGoogle Drive内の重複ファイルを自動的に削除するスクリプトを紹介する。
スクリプトの概要
このスクリプトは指定したフォルダ内の重複ファイルを検出し、重複しているファイルのうち最初の一つを残して他を削除する。スクリプトの実行により、ディスクスペースの節約とファイル管理の効率化を図ることができる。
スクリプトの説明
以下が重複ファイルを削除するためのスクリプトである。
function deleteDuplicateFilesKeepOne(folder) {
const files = folder.getFiles();
const fileNames = new Map();
while (files.hasNext()) {
const file = files.next();
const name = file.getName();
if (fileNames.has(name)) {
file.setTrashed(true);
Logger.log('重複ファイルを削除しました: ' + name);
} else {
fileNames.set(name, file.getId());
}
}
}
function main() {
const folderId = 'YOUR_FOLDER_ID'; // フォルダIDをここに入力
const folder = DriveApp.getFolderById(folderId);
deleteDuplicateFilesKeepOne(folder);
}スクリプトの詳細解説
- ファイルの取得:
folder.getFiles()メソッドを使用して、指定したフォルダ内の全てのファイルを取得する。 - 重複ファイルの検出:
Mapオブジェクトを使用して、ファイル名をキーとして保持する。ファイル名が既に存在する場合は重複と判断する。 - 重複ファイルの削除: 重複ファイルを
setTrashed(true)メソッドを使用して削除する。これにより、ゴミ箱に移動される。
実際の使用方法
- Google Apps Scriptの設定:
- Google Driveを開き、
新規 > その他 > Google Apps Scriptを選択する。 - 新しいプロジェクトを作成し、上記のスクリプトをコピー&ペーストする。
- フォルダIDを取得して、スクリプト内でフォルダを指定する。
- Google Driveを開き、
- スクリプトの実行:
- スクリプトエディタで実行ボタンをクリックし、スクリプトを実行する。
- Googleの認証を求められる場合は、必要な権限を許可する。
- 確認:
- スクリプト実行後、指定したフォルダ内の重複ファイルが削除されていることを確認する。