Script(GAS)を考えてみた。普通に考えるとフォルダ内のファイルとフォルダを処理する関数を再帰的に呼び出すのだが、、、GASには6分以上経過すると強制的にスクリプトが終了してしまう制限がある。この6分の壁対策として時間トリガを設定して中断した処理を再開する必要がある。その再開のためにはどこまで処理したかを保存しなけれがならない。一般的には中断するときにFileIteratorクラスのgetContinuationToken()を使用してトークンを取得しそれをスクリプトプロパティなどに保存して、時間トリガで起動した際にはDriveAppクラスのcontinueFileIterator(continuationToken)でFileIteratorを復元する。再帰的に関数を呼び出している処理を中断するのは少しコツがいる。今回は単純な方法を紹介する。ドライブで管理しているすべてのFileIteratorを所得するFileIteratorですべてのファイルをスキャンするファイルが指定したフォルダ配下かどうかをチェックする5分経過した場合にはFileIteratorをプロパティに保存するただし、この方法には欠点がある。すべてのファイルで、親フォルダをスキャンするので処理が重く、FileIteratorは1週間という有効期限があるため、ドライブ内のすべての処理が1Week以内で終わるようにトリガタイミングと処理を調整しなければならない。そのうち6分の壁対策版の再帰処理コードも載せると思う。