前回のおさらい
前回は大事なファイルが保存されたフォルダに「バックアップ」フォルダをつくりました。
つくった「バックアップ」フォルダのフォルダIDを取得しました。
今回は大事なファイルをコピーします。
Google Apps Scriptのファイルをつくる
バックアップの仕組みはGoogle Apps Script(通称:GAS(ガス))を使ってつくります。
GASを書くファイルをつくります。
どのフォルダでもいいので右クリックでメニューをひらいてGoogle Apps Scriptをクリックします

Google Apps Scriptはメニューの「その他」の中にあります。
ファイルをつくると↓の画面がひらきます。「スクリプトを作成」を選びます。

↓のようなエディタ画面がひらけば成功です。

左上の「無題のプロジェクト」をクリックしてファイル名を変更します。

わかりやすい名前がいいですね。
エディタ画面がこのようになっていれば成功です。

ちょう大事なファイルのコピーをとる
ちょう大事なファイルのコピーをとるために取得→コピーの2段構えでいきます。
- ファイルを取得する
- ファイルのコピーをとる
ファイルを取得する
ファイルを取得するためのコード
const getImportantFiles = () => {
const driveApp = DriveApp
const folder = driveApp.getFolderById('ちょう大事なフォルダのID ※バックアップフォルダではない')
const files = folder.getFiles()
}
まずはちょう大事なファイルが入っているフォルダのIDからフォルダを取得します。
次にそのフォルダに入っているファイルをgetFilesメソッドですべて取得しています。
このコードで得られるのはファイルイテレーターです。
なんじゃそら?という人は↓を読んでみてください。
ファイルイテレーターとはファイルオブジェクトを反復生成するためのオブジェクトです。ファイルそのものではないのでご注意ください。
ファイルのコピーを取る
首尾よく取得したファイルイテレーターからファイルオブジェクトを生成しつつコピーをします。
コード
const getImportantFiles = () => {
// ファイルを取得している
const driveApp = DriveApp
const folder = driveApp.getFolderById('ちょう大事なフォルダのID ※バックアップではない')
const files = folder.getFiles()
// バックアップフォルダにファイルのコピーを作成している
while (files.hasNext()) {
const backupFolder = driveApp.getFolderById('バックアップフォルダのID')
const file = files.next()
file.makeCopy(backupFolder)
}
}
8行目のwhile (files.hasNext()) { 以降でバックアップフォルダにファイルのコピーを作成しています。
実行結果

というわけでバックアップフォルダにコピーができました。

それじゃいつのバックアップかわからないじゃないか!
謝罪しろ!
いやー、必要なのは謝罪じゃなくて実現することじゃないですかねー。
つまり、次回はいつのバックアップなのかがわかるようにしていきます。
チャオ
