早上好,我在创建谷歌应用程序脚本以从 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);
}
错误代码 = 未找到脚本函数;我的函数
谢谢
感谢@CTOverton 的回答,我创建了另一个版本,因为我注意到文件具有 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())
}
}
干杯
正如 @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 设置为ON。 并且确保您的 Google Developers Console 中已启用 Drive API。如果在BOTH地方没有打开,它将不可用。
应用程序脚本作为文件存储在 Google Drive 中...
此脚本运行后将删除连接的谷歌驱动器帐户中的所有文件,包括其本身。
希望这有帮助!
删除文件夹中输入文件夹id的所有文件!
function deleteAllFile() {
// Get all files in Drive
const idFolder = 'id'
var files = DriveApp.getFolderById(idFolder).getFiles();
// Delete every file
while (files.hasNext()) {
var file = files.next();
Logger.log('Deleting file "%s"',
file.getName());
// Delete File
DriveApp.getFolderById(idFolder).getFilesByName(file.getName()).next().setTrashed(true)
}
}