【完全解説】GASでGoogleドライブの整理を自動化する方法|ファイル管理のストレスから解放!

はじめに

「Googleドライブの中がぐちゃぐちゃで、もう何がどこにあるか分からない…」
「気づけばファイルだらけ。整理したいけど、手作業じゃ追いつかない…」

そんなあなたにぴったりなのが、
Google Apps Script(GAS)を使ったGoogleドライブ整理の自動化です!

この記事では、初心者でもわかるように、
GASでGoogleドライブを整理・管理する方法をゼロから丁寧に解説します。

これを読めば、面倒なファイル整理作業とは今日でサヨナラできます!


GASでGoogleドライブ整理を自動化するメリット

GASを使ってドライブ整理を自動化すると、こんなメリットがあります。

  • ファイルを自動で指定フォルダに振り分けできる

  • 一定期間経過したファイルをまとめてアーカイブできる

  • ファイル名ルールを自動で揃えられる

  • ゴミ箱送りやファイル削除も一括操作できる

つまり、
手間ゼロでスッキリ快適なドライブ環境が手に入ります!


GASでGoogleドライブ整理自動化をする基本ステップ

整理自動化の基本的な流れはこんな感じです。

  1. 整理したい対象をリストアップ(ファイル・フォルダ)

  2. 条件(例:ファイル名・拡張子・日付など)でフィルター

  3. アクション(移動・削除・リネームなど)を実行

このステップを順番に組み立てれば、
あなただけの整理ロボットが完成します!


【実践編】GASでGoogleドライブ整理自動化をやってみよう!

ここから実際に手を動かして、ドライブを整理していきましょう!


ステップ1:対象フォルダを設定する

まずは整理したいフォルダのIDを確認します。

【取得方法】
Googleドライブ上で対象フォルダを右クリック→「リンクを取得」→URLからIDだけを抜き出します。

例:
https://drive.google.com/drive/folders/XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX がフォルダIDです。


ステップ2:スクリプトを書く

Apps Scriptエディタを開いて、以下のコードを書いてみましょう。

例① ファイルを拡張子別にサブフォルダへ自動振り分け

function organizeFilesByType() {
  const folderId = 'あなたのフォルダID';
  const folder = DriveApp.getFolderById(folderId);
  const files = folder.getFiles();

  while (files.hasNext()) {
    const file = files.next();
    const name = file.getName();
    const extMatch = name.match(/\.(\w+)$/);
    
    if (extMatch) {
      const ext = extMatch[1].toLowerCase();
      let subfolder;

      const folders = folder.getFoldersByName(ext);
      if (folders.hasNext()) {
        subfolder = folders.next();
      } else {
        subfolder = folder.createFolder(ext);
      }
      
      file.moveTo(subfolder);
    }
  }
}

このスクリプトは、
拡張子(例:pdf、jpg、docxなど)ごとに自動でサブフォルダを作って移動してくれます!


例② 古いファイルをアーカイブフォルダに移動

function archiveOldFiles() {
  const folderId = 'あなたのフォルダID';
  const folder = DriveApp.getFolderById(folderId);
  const archiveFolderName = 'アーカイブ';
  const now = new Date();
  const daysThreshold = 90; // 90日以上前のファイルを対象
  let archiveFolder;

  const folders = folder.getFoldersByName(archiveFolderName);
  if (folders.hasNext()) {
    archiveFolder = folders.next();
  } else {
    archiveFolder = folder.createFolder(archiveFolderName);
  }

  const files = folder.getFiles();
  while (files.hasNext()) {
    const file = files.next();
    const lastUpdated = file.getLastUpdated();
    const diffDays = (now - lastUpdated) / (1000 * 60 * 60 * 24);

    if (diffDays > daysThreshold) {
      file.moveTo(archiveFolder);
    }
  }
}

これで、
「90日以上更新されていないファイル」を自動でアーカイブフォルダに移動できます!


トリガー設定で完全自動運用

毎回手動で整理するのは面倒なので、
トリガー設定で定期自動整理しましょう!

設定方法:

  • スクリプトエディタ画面で「トリガー」→「新しいトリガーを追加」

  • 関数:整理用関数(例:organizeFilesByType)

  • イベント:時間主導型(毎日・毎週など好きに選択)

これで、
指定した間隔で自動的にGoogleドライブが整理され続ける環境が完成します!


さらにできる応用例

ちょっと応用すれば、こんな整理もできます。

  • ファイル名に「日付」や「番号」を自動付与

  • 特定のキーワードを含むファイルだけ別フォルダに移動

  • サイズの大きなファイルを検出して通知

  • ゴミ箱に入れ忘れたファイルを自動削除

GASなら、整理ルールを自由自在にカスタマイズできるのが魅力です!


よくあるエラーと対策

初心者がよくハマるポイントも整理しておきます。

■ フォルダID間違い

DriveApp.getFolderById('ID')に渡すIDは正確に
「folders/」より後ろの部分だけを使うこと!

■ 権限エラーが出た

初回実行時にGASからアクセス権限リクエストが出ます。
必ず許可してください。許可しないとファイル操作できません。

■ ファイル移動後にエラー

moveTo()を使うとオリジナルの場所からファイルが消えます
コピーして移動したいならmakeCopy()を使いましょう!


まとめ|GASでGoogleドライブ整理を自動化して、自由な時間を手に入れよう!

この記事では、
GASを使ったGoogleドライブ整理自動化方法を初心者向けに解説しました。

✅ 拡張子別振り分け
✅ 古いファイルのアーカイブ
✅ トリガーによる完全自動化
✅ 応用整理テクニック紹介

GASを使えば、もうドライブ整理に悩む必要はありません!

あなたの時間をもっとクリエイティブな作業に使うためにも、
ぜひ今日から「ドライブ整理ロボット」を作ってみましょう!

Shop now