Google apps script Google应用程序脚本删除驱动器中的所有文件
早上好,我在创建google应用程序脚本以从google驱动器的根目录中删除所有文件/文件夹时遇到了一些问题。我发现了以下代码,但在运行时似乎出错了Google apps script Google应用程序脚本删除驱动器中的所有文件,google-apps-script,Google Apps Script,早上好,我在创建google应用程序脚本以从google驱动器的根目录中删除所有文件/文件夹时遇到了一些问题。我发现了以下代码,但在运行时似乎出错了 function deleteFile(idToDLET) { idToDLET = 'the File ID'; //This deletes a file without needing to move it to the trash var rtrnFromDLET = Drive.Files.remove(idToDLET);
function deleteFile(idToDLET) {
idToDLET = 'the File ID';
//This deletes a file without needing to move it to the trash
var rtrnFromDLET = Drive.Files.remove(idToDLET);
}
错误代码=未找到脚本函数;我的功能
正如@James D所说,您缺少myFunction,这是运行脚本的默认函数。确保先保存脚本 下面是获取所有文件并删除它们的代码
function myFunction() {
// Get all files in Drive
var files = DriveApp.getFiles();
// Delete every file
while (files.hasNext()) {
var file = files.next();
Logger.log('Deleting file "%s"',
file.getName());
// Delete File
Drive.Files.remove(file.getId())
}
}
要使用DriveAPI,您需要通过资源>高级谷歌服务菜单添加它。将驱动器API设置为打开时的和确保在Google开发者控制台中打开了驱动器API。如果在两个位置都未启用,则它将不可用
警告
应用程序脚本作为文件存储在Google Drive中
此脚本在运行时将删除连接的google drive帐户中的所有文件,包括其自身
希望这有帮助 多亏了@CTOverton answer,我创建了另一个版本,因为我注意到一个文件有setTrashed方法,它将文件移动到垃圾箱中 如果驱动器保存了重要文件,我建议将文件移动到垃圾箱,而不是永久删除,这样做可能会使您在执行脚本编写实验时免于灾难:-) 此版本使用一个文件夹id,您可以使用它来获取:
folder.getId()
您可以使用CTOverton的代码删除驱动器上的所有文件(注释)
函数清空文件夹(folderId){
const folder=DriveApp.getFolderById(folderId);
while(folder.getFiles().hasNext()){
const file=folder.getFiles().next();
Logger.log('将文件移动到垃圾箱:',文件);
file.setTrashed(true);
//删除文件
//Drive.Files.remove(file.getId())
}
}
干杯您还没有保存脚本。myFunction是打开新脚本文件时的默认函数。如果你不得不问这个问题,我有一种感觉,这将是你的最小问题!我不是程序员,我只是想让人力资源部门的工作更轻松,作为一名技术支持人员,谢谢你;)这就像
sudo rm-rf*/*
…谢谢,脚本现在在第18行“驱动器未定义”中出错。我已验证驱动器API是否已激活,是否缺少其他内容?Thanks@APineapple您必须启用驱动器API。我编辑了答案以解释如何执行此操作,并简化了代码。您可能应该使用。我尝试了此操作,结果显示此文件的权限不足(第11行,文件“code”)
@James我相信这是因为它试图删除自身。应用程序脚本也存储在google drive中。尝试添加一个if语句来检查以确保它不是代码本身。例如:if!(file.getName()=“Code”){Drive.Files.remove(file.getId())}