You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DriveApp的moveTo方法后如何获取新文件ID?

问题解答:移动文件后获取文件ID

你这里的核心误解是:DriveApp.File.moveTo()方法不会创建新文件,它只是把原文件转移到目标文件夹中,返回的依然是原来的文件对象——不存在所谓的“新文件”,文件本身的ID从始至终都没有变化。

所以你代码里的idRisultati其实就是ssNew对应文件的对象,它的ID和ssNew.getId()完全一致,不需要额外“获取新ID”。

你可以直接简化代码:

// 获取原文件并移动到目标文件夹
var targetFile = DriveApp.getFileById(ssNew.getId());
targetFile.moveTo(DriveApp.getFolderById(idCartellaEsame));

// 直接用原文件ID打开即可,文件只是位置变了,本身没改动
var ssNeww = SpreadsheetApp.openById(ssNew.getId());
// 也可以用移动后返回的文件对象取ID,结果完全一样
// var ssNeww = SpreadsheetApp.openById(targetFile.getId());

如果你的实际需求是复制文件到目标文件夹(而非移动),那才会生成新文件,这时要用makeCopy()方法,它会返回新文件的对象,直接调用getId()就能拿到新文件ID:

// 复制文件到目标文件夹,返回新文件对象
var newFile = DriveApp.getFileById(ssNew.getId()).makeCopy(DriveApp.getFolderById(idCartellaEsame));
// 获取新文件ID
var newFileId = newFile.getId();
var ssNeww = SpreadsheetApp.openById(newFileId);

内容的提问来源于stack exchange,提问作者LUCA DELLA GHEZZA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:09:26