1

几天前我开始使用 google 脚本进行开发,最近加入了 stackoverflow。我对 addToFolder() 函数有疑问。我有以下代码将我的新电子表格复制到我的 Google Drive 中的文件夹(测试/表格)中:

var ss = SpreadsheetApp.create("test");
var ssID = ss.getId();
DocsList.getFileById(ssID).addToFolder(DocsList.getFolder("test/sheets"));

我的问题是现在我有同一个文件的 2 个版本(一个在我的 Google Drive 文件夹的根目录中,另一个在 test/sheets 文件夹中),每当我尝试删除其中一个副本时,另一个副本也会被删除. 有没有办法删除旧文件并保留新文件,或者有没有办法首先在所需文件夹中创建文件?


编辑 :

感谢您的快速回复。我玩了几个小时,但仍然无法将文件复制到目标文件夹。问题是,即使我使用文件的 makeCopy 方法,仍然 addToFolder 是提及文件夹的唯一选项。同样,这最终在目标文件夹中具有标记的文件名。我对复制方法有同样的问题。
这是我的新代码:

var SetLocationFile = "icompare/sheets/stocks" 
var FolderID = DocsList.getFolder(SetLocationFile); 
var FileID = DocsList.getFileById(ssID); 
FileID.makeCopy("test3").addToFolder(FolderID);
4

3 回答 3

5

Google Docs\Google Drive 中的文件夹实际上是标签。当您将文件“添加”到文件夹“test/sheets”时,您不会复制文件,只需将标签“test/sheets”附加到它。现在,相同的文件显示在“test/sheets”文件夹(即在所有带有标签“test/sheets”的文件列表中)和根目录中。如果你想复制文件,你应该使用复制方法。(如果我误解了你的问题,请告诉我。)

于 2012-07-15T21:56:14.800 回答
2

我意识到这是一个老问题,但您可以简单地使用.removeFromFolder(DocsList.getRootFolder());从根文件夹中删除文件。

于 2013-03-25T22:27:12.763 回答
0

我也想知道这个问题的答案.. API 甚至没有提供创建电子表格并将它们放置在某个地图中的方法似乎相当“奇怪”?不,我不想要文件的副本,我希望文件在特定地图中,而不是在其他地图中......

于 2013-01-03T09:38:20.227 回答