以前、当ブログでも紹介した通り、Googleスプレッドシートには標準で更新履歴の確認機能があります。
しかし、対象がスプレッドシートではなくPDF形式の書類や契約書などの場合、ファイルそのものをバックアップしたいというケースも多いのではないでしょうか。
今回は、Googleドライブ内の特定のフォルダ(フォルダ内のファイルを含めてすべて)をコピー(バックアップ)する方法をご紹介します。
▼【参考】GASとは?初回導入手順はこちら
1. Apps Scriptを開く
Googleスプレッドシートを開き、上部メニューの「拡張機能」→「Apps Script」をクリックしてスクリプトエディタを開きます。
2. スクリプトを記入
以下のスクリプトをコピーして、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の取得方法
-
Googleドライブを開く
-
コピーしたいフォルダを開く
-
URLを確認し、
https://drive.google.com/drive/folders/XXXXXX
のXXXXXX
の部分をコピーする▼黒塗りになっている部分がフォルダID
4. スクリプトを実行
スクリプトエディタの「実行」ボタンをクリックし、copyFolder()
を実行します。これで、フォルダ内のすべてのファイルおよびサブフォルダがコピーされます。
5. 注意点
-
容量の大きなフォルダをコピーする場合、時間がかかることがあります。
-
フォルダ構造を保持しながらコピーできるため、定期的なバックアップ用途に最適です。
まとめ
Google Apps Script(GAS)を活用することで、Googleドライブ内のフォルダを丸ごとバックアップすることが可能です。フォルダ構造を維持しながら、ファイルも自動的にコピーされるため、大切なデータの保護に役立ちます。ぜひこのスクリプトを活用して、効率的なファイル管理を行ってみてください。
▼GASなしGoogleスプレットシートの機能のみで対応する場合はこちら
▼Power Automate Desktop&One Driveでコピーする方法
▼ 役に立ったらブックマークお願いします!
![]() |
現役公認会計士が解説!GASで自動化する経営管理【電子書籍】[ 稲垣 大輔 ] 価格:1980円 |
![]() |
プログラム未経験者でもOK!! 業務効率化/自動化のためのGoogle Apps Script [ 事務職たらこ ] 価格:2420円 |