addToFolder():如果删除原始版本,则删除文件的复制版本

问题描述:

前几天我开始使用Google脚本进行开发,最近加入了*。 addToFolder()函数有问题。我有下面这段代码复制了我的新的电子表格放到一个文件夹(测试/张)我在谷歌驱动器:addToFolder():如果删除原始版本,则删除文件的复制版本

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

我的问题是,现在我有根2个版本的相同文件(一个我的Google云端硬盘文件夹和其他测试/表单文件夹中的其他文件),每当我尝试删除其中一个副本时,另一个副本也会被删除。有没有办法删除旧文件并保留新文件或有没有办法在第一个位置创建文件在所需的文件夹?


编辑:

感谢你的快速反应。我玩了几个小时,但仍然有问题将文件复制到目标文件夹。问题是,即使使用文件的makeCopy方法,addToFolder仍然是提及文件夹的唯一选项。再次,这最终在目标文件夹中具有标记的文件名。 我有与复制方法相同的问题。
这是我的新代码:在谷歌文档\谷歌驱动

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

我想问一个问题,以确保我理解您的观点:您如何看待文件夹的内容?你使用驱动器浏览器界面还是系统查找器(或浏览器)?如果在浏览器中,您使用了什么“视图”?那么我知道这是3个问题;-)原谅我 – 2012-07-17 16:02:00

+0

我使用列表视图在Google Drive浏览器中查看我的文件夹的内容。我的互联网浏览器是Google Chrome! – user1527215 2012-07-17 17:01:40

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

+0

啊哈!光芒曙光。那为什么他们叫他们“文件夹”?无论如何,感谢您的帮助。我正在考虑将文件夹作为容器,并没有任何意义。 – 2014-04-02 02:37:37

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

+0

看到这篇文章http://*.com/questions/11910734/google-apps-script-how-do-i-create-a-file-in-a-folder – 2013-01-03 16:28:26

我知道这是一个古老的问题,但你可以简单地使用.removeFromFolder(DocsList.getRootFolder());删除该文件来自根文件夹。