早上好,我在创建谷歌应用脚本时遇到了一些问题,从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);
}
错误代码=未找到脚本功能; myFunction
谢谢
答案 0 :(得分:0)
正如@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,您需要通过资源>高级Google服务菜单添加它。将Drive API设置为开启。 AND 确保您的Google Developers Console中已启用Drive API。如果它未在 BOTH 位置启用,则无法使用。
应用脚本存储为Google云端硬盘中的文件......
此脚本在运行时将删除已连接的Google云端硬盘帐户中的所有文件,包括其自身。
希望这有帮助!
答案 1 :(得分:0)
由于@CTOverton的回答,我创建了另一个版本,因为我注意到File具有setTrashed方法,该方法将文件移至垃圾箱。
如果云端硬盘已保存了重要文件,建议您将文件移至垃圾桶,而不要进行永久删除,这样可以在进行脚本实验时避免灾难:-)
此版本使用的文件夹ID是folder.getId()
。
您可以使用CTOverton的代码删除云端硬盘上的所有文件(注释)。
function emptyFolder(folderId) {
const folder = DriveApp.getFolderById(folderId);
while (folder.getFiles().hasNext()) {
const file = folder.getFiles().next();
Logger.log('Moving file to trash: ', file);
file.setTrashed(true);
// Delete File
//Drive.Files.remove(file.getId())
}
}
欢呼