将文件夹,子文件夹和内容重复复制到多个文件夹

时间:2019-06-27 14:22:05

标签: javascript google-apps-script google-drive-api google-drive-team-drive

我正在尝试在Google共享驱动器(团队驱动器)中复制“模板”文件夹结构。

它看起来像这样:

+------------------------+-----------+-------------+
|       Top Level        | 2nd Level |  3rd Level  |
+------------------------+-----------+-------------+
| MASTER TEMPLATE FOLDER |           | FILE 1      |
|                        |           | FILE 2      |
|                        |           |             |
|                        | FOLDER 1  | F1 File Foo |
|                        |           | F1 File Bar |
|                        |           | F1 File Baz |
|                        |           |             |
|                        | FOLDER 2  | F2 File Foo |
|                        |           | F2 File Bar |
|                        |           |             |
|                        | FOLDER 3  | F3 File Foo |
|                        |           | F3 File Boo |
|                        |           | F3 File Baz |
|                        |           |             |
|                        | FOLDER 4  | F4 File Foo |
|                        |           | F4 File Bar |
|                        |           | F4 File Baz |
|                        |           | F4 File Qux |
+------------------------+-----------+-------------+

共享驱动器具有以下文件夹: _自动化,_模板,人员1,人员2,​​人员3。

我需要在每个星期初为每个人创建一个文件夹,并且在该每周文件夹中,我需要作为此模板文件夹的3个副本。

我有一个(主要)工作代码版本。 如果仅将模板从模板文件夹结构复制到1个文件夹,则效果很好。

正如您将看到的,我们调用了一个名为removeTriggers_的函数来终止我们的延续,但这会导致问题,因为触发器称为resume_,并且每次脚本开始运行时都会使用该触发器。

所以发生了什么事

  1. 开始
  2. 通过获取所有顶级文件夹并排除必要的内容来获取Person文件夹ID
  3. 在每个“人”文件夹中创建一个每周文件夹。
  4. 如果存在每周文件夹,请创建3个Case文件夹
  5. 为每个案例文件夹启动复制模板过程
  6. 为每个案例文件夹创建一个resume_触发器
  7. resume_触发器触发并拾取延续令牌,然后清除所有其他触发器。

真的不确定解决此问题的最佳方法。

不打算在此处发布它,因为它相当庞大,但这是指向GAS的链接:

https://script.google.com/d/1ORKHQn_9j6kaUNsCK0D6stPLcjUlltAZM5bqmm-taU7OfHWZdlYIlOuK/edit?splash=yes

回顾-应该发生的事情:

  1. 获取每个“人”文件夹的文件夹ID
  2. 为每个“人员”创建一个每周文件夹
  3. 为每个“每周”文件夹创建3个“案例”文件夹
  4. 将模板文件夹文件和文件夹结构复制到每个“案例”文件夹中

0 个答案:

没有答案