尝试在不知道文件 ID 或名称的情况下复制文件



我正在尝试找出一种方法来检查我正在循环浏览的一组文件夹是否包含文件(谷歌文档文件(。如果文件夹中确实有一个文件(只有一个文件(,我想复制它。

我不确定如何访问该文件并使用 makeCopy(( 方法,因为我不知道文件夹中文件的名称/ID。

任何帮助将不胜感激。

以下示例脚本怎么样?此示例检索folderId中的文件。如果文件夹中有文件,则会复制该文件。从您的问题中,发现文件夹中只有一个文件。因此,在此脚本中,将复制一个文件。

示例脚本:

var folderId = "### folder ID ###";
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
var file = [];
while (files.hasNext()) {
file.push(files.next());
}
if (file.length > 0){
file[0].makeCopy();
}

其他示例脚本:

由于复制的文件只有一个,因此也可以将以下示例脚本用于您的情况。这可能比上面更简单。

var folderId = "### folder ID ###";
var files = DriveApp.getFolderById(folderId).getFiles();
files.hasNext() && files.next().makeCopy();

如果要使用文件夹名称,并且文件夹名称在云端硬盘中只有一个,请使用以下脚本。

var folderName = "### folder name ###";
var files = DriveApp.getFoldersByName(folderName).next().getFiles();
files.hasNext() && files.next().makeCopy();

你有文件夹的 ID(或者至少你有它们的名字,这样你就可以使用files.list?q=name="foo"获取它们的 ID

获得文件夹 ID 后,您可以使用files.list?q="folderID" in parents查找其中的任何文件

最新更新