如何使用 Google Apps 脚本将多个 Google 文档添加到 Google 云端硬盘文件夹?
How can I use a Google Apps Script to add multiple Google Docs to a Google Drive folder?
我有一个 Google 文档 URL 列表(大约 700 个),需要将它们添加到 Google 文件夹中,以便它们都在一个 space 中,因为目前它们由数百个不同的用户拥有。
我看过一些关于如何执行相反操作的帖子:从文件夹的内容生成 URL 列表。这很有帮助,但似乎这项任务要困难得多。
这是我试过的方法,但似乎不起作用:
var doc = DocumentApp.openById('1sQGds0kyeO66ZiMiJlsKkHPcqjySPy5q0dWShc2irts'),
docFile = DriveApp.getFileById( doc.getId() );
DriveApp.getFolderById('0B7yp85g7j5ZHbVlEUmNGX2w0M1k').addFile( docFile );
DriveApp.getRootFolder().removeFile(docFile);
它不会进行错误检查并且可能会超时...但这是一个开始。
您将在 A 列中添加文件 ID。
function makeCopyFromId() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 700; // Last row to process.
var dataRange = sheet.getRange(startRow, 1, numRows, 5)
var data = dataRange.getValues();
var destFolder = DriveApp.getFolderById("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
for (i in data) {
var row = data[i];
var ssId = row[0];
Logger.log(ssId); // check the log to see if they all complete-
var destSpreadsheet = SpreadsheetApp.open(DriveApp.getFileById(ssId).makeCopy("",destFolder)) //copies each file.
}}
我有一个 Google 文档 URL 列表(大约 700 个),需要将它们添加到 Google 文件夹中,以便它们都在一个 space 中,因为目前它们由数百个不同的用户拥有。
我看过一些关于如何执行相反操作的帖子:从文件夹的内容生成 URL 列表。这很有帮助,但似乎这项任务要困难得多。
这是我试过的方法,但似乎不起作用:
var doc = DocumentApp.openById('1sQGds0kyeO66ZiMiJlsKkHPcqjySPy5q0dWShc2irts'),
docFile = DriveApp.getFileById( doc.getId() );
DriveApp.getFolderById('0B7yp85g7j5ZHbVlEUmNGX2w0M1k').addFile( docFile );
DriveApp.getRootFolder().removeFile(docFile);
它不会进行错误检查并且可能会超时...但这是一个开始。 您将在 A 列中添加文件 ID。
function makeCopyFromId() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 700; // Last row to process.
var dataRange = sheet.getRange(startRow, 1, numRows, 5)
var data = dataRange.getValues();
var destFolder = DriveApp.getFolderById("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
for (i in data) {
var row = data[i];
var ssId = row[0];
Logger.log(ssId); // check the log to see if they all complete-
var destSpreadsheet = SpreadsheetApp.open(DriveApp.getFileById(ssId).makeCopy("",destFolder)) //copies each file.
}}