尝试制作一个简单的谷歌应用脚本以按名称获取文件,并按创建日期对其进行排序。如果同名文件超过5个,则删除除5个最新文件以外的所有文件。
function tryme(){
var files = DriveApp.getFilesByName('thisFile');
var created = files.getDateCreated();
for(i in created) {
if(created[i] > 4){
file.setTrashed(true);}
}
}
答案 0 :(得分:0)
您正在尝试在File Iterator上使用File方法(从getFilesByName()方法返回)。
以下是您的问题的解决方案:
function tryme(){
// Get the file Iterator
var files = DriveApp.getFilesByName('New Text File');
var fileArray = [];
// Put file on array
while(files.hasNext()){
var file = files.next();
fileArray.push([file, file.getDateCreated()]);
}
//While you have more than 5 files
while(fileArray.length>5){
var older = ["",new Date()];
var olderIndex;
// Get the older file
for(var i in fileArray){
if(fileArray[i][1].getTime() < new Date(older[1]).getTime()){
olderIndex = i;
older = fileArray[i];
}
}
// Delete the older file
fileArray.splice(olderIndex,1);
older[0].setTrashed(true);
}
}
编辑: 我使用DriveApp.removeFile()而不是File.setTrashed(true)犯了一个错误