業務自動化で脱・手作業!一人事務のDX活用術 | RPA・自動化ツール

業務自動化で脱・手作業!一人事務のDX活用ブログ|RPA・自動化ツールで業務をもっとラクに、もっとスマートに

Google Apps Scriptでフォルダごとファイルコピー&バックアップする手順

Google Apps Scriptでフォルダごとファイルコピー&バックアップする手順

以前、当ブログでも紹介した通り、Googleスプレッドシートには標準で更新履歴の確認機能があります。

しかし、対象がスプレッドシートではなくPDF形式の書類や契約書などの場合、ファイルそのものをバックアップしたいというケースも多いのではないでしょうか。

今回は、Googleドライブ内の特定のフォルダ(フォルダ内のファイルを含めてすべて)をコピー(バックアップ)する方法をご紹介します。

▼【参考】GASとは?初回導入手順はこちら

keiridx.net

1. Apps Scriptを開く

Googleスプレッドシートを開き、上部メニューの「拡張機能」→「Apps Script」をクリックしてスクリプトエディタを開きます。

2. スクリプトを記入

Google Apps Scriptでフォルダごとファイルコピー&バックアップする手順

以下のスクリプトをコピーして、Apps Scriptエディタに貼り付けてください。

function copyFolder() {
  var sourceFolderId = "コピー元フォルダのID"; // コピーしたいフォルダのID
  var destinationParentFolderId = "コピー先の親フォルダのID"; // コピー先フォルダの親フォルダのID

  var sourceFolder = DriveApp.getFolderById(sourceFolderId);
  var destinationParentFolder = DriveApp.getFolderById(destinationParentFolderId);

  // 新しいフォルダを作成
  var newFolder = destinationParentFolder.createFolder(sourceFolder.getName());

  // フォルダ内のファイルをコピー
  var files = sourceFolder.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    file.makeCopy(file.getName(), newFolder);
  }

  // フォルダ内のサブフォルダを再帰的にコピー
  var subfolders = sourceFolder.getFolders();
  while (subfolders.hasNext()) {
    var subfolder = subfolders.next();
    copySubFolder(subfolder, newFolder);
  }
}

function copySubFolder(sourceFolder, destinationParentFolder) {
  var newFolder = destinationParentFolder.createFolder(sourceFolder.getName());

  var files = sourceFolder.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    file.makeCopy(file.getName(), newFolder);
  }

  var subfolders = sourceFolder.getFolders();
  while (subfolders.hasNext()) {
    var subfolder = subfolders.next();
    copySubFolder(subfolder, newFolder);
  }
}

3. フォルダIDを取得して設定

スクリプト内の sourceFolderId(コピー元フォルダのID)と destinationParentFolderId(コピー先の親フォルダのID)を適切なフォルダIDに変更します。

フォルダIDの取得方法

  1. Googleドライブを開く

  2. コピーしたいフォルダを開く

  3. URLを確認し、https://drive.google.com/drive/folders/XXXXXXXXXXXX の部分をコピーする

     

    ▼黒塗りになっている部分がフォルダIDGoogle Apps Scriptでフォルダごとファイルコピー&バックアップする手順

4. スクリプトを実行

スクリプトエディタの「実行」ボタンをクリックし、copyFolder() を実行します。これで、フォルダ内のすべてのファイルおよびサブフォルダがコピーされます。

5. 注意点

  • 容量の大きなフォルダをコピーする場合、時間がかかることがあります。

  • フォルダ構造を保持しながらコピーできるため、定期的なバックアップ用途に最適です。

まとめ

Google Apps Script(GAS)を活用することで、Googleドライブ内のフォルダを丸ごとバックアップすることが可能です。フォルダ構造を維持しながら、ファイルも自動的にコピーされるため、大切なデータの保護に役立ちます。ぜひこのスクリプトを活用して、効率的なファイル管理を行ってみてください。

 

▼GASなしGoogleスプレットシートの機能のみで対応する場合はこちら

keiridx.net

▼Power Automate Desktop&One Driveでコピーする方法

keiridx.net

 

▼ 役に立ったらブックマークお願いします!

Google Apps Scriptでフォルダごとファイルコピー&バックアップする手順

Google Apps Scriptでフォルダごとファイルコピー&バックアップする手順

人気ブログランキング

Google Apps Scriptでフォルダごとファイルコピー&バックアップする手順

現役公認会計士が解説!GASで自動化する経営管理【電子書籍】[ 稲垣 大輔 ]

価格:1980円
(2025/2/21 11:54時点)
感想(0件)

 

Google Apps Scriptでフォルダごとファイルコピー&バックアップする手順

プログラム未経験者でもOK!! 業務効率化/自動化のためのGoogle Apps Script [ 事務職たらこ ]

価格:2420円
(2025/2/21 11:56時点)
感想(0件)