С помощью сообщества Stackoverflow я смог создать этот сценарий, который удаляет файлы старше 3 часов:
function getOldFileIDs() {
// Old date is 3 Hours
var oldDate = new Date().getTime() - 3600*1000*3;
var cutOffDate = new Date(oldDate).toISOString();
// Get folderID using the URL on google drive
var folder = DriveApp.getFolderById('XXXXXXXXXXXXXXXXXXXXX');
var files = folder.searchFiles('modifiedDate < "' + cutOffDate + '"');
var obj = [];
while (files.hasNext()) {
var file = files.next();
obj.push({id: file.getId(), date: file.getDateCreated(), owner: file.getOwner().getEmail()}); // Modified
}
obj.sort(function(a, b) {
var a= new Date(a.date).valueOf();
var b= new Date(b.date).valueOf();
return b-a;
});
obj.shift();
return obj; // Modified
};
function deleteFiles() {
var email = "XXXXXXXXXXXXXXXXX@gmail.com"; // Added
var obj = getOldFileIDs(); // Modified
obj.forEach(function(e) { // Modified
if (e.owner == email) { // Added
Drive.Files.remove(e.id); // Modified
}
});
};
Имена файлов в этой папке всегда начинаются с даты, например:
2019/10/05 SerieA Vasco da Gama x Flamengo.pdf
Мне нужна помощь, чтобы узнать, что мне нужно изменить в скрипте и как он будет выглядеть, вместо того, чтобы удалять, когда у него более 3 часов создания, это из его файлов, которые имеют дату раньше текущей.
Я пытался изменить .getdate
, но это было совершенно безуспешно, я не мог заставить скрипт анализировать начало имени файла, я могнайти только имя файла и его идентификатор.