Сегодня скрипт удаляет файлы, которые начинаются с даты, более ранней, чем сегодня:
function getOldFileIDs() {
var folder = DriveApp.getFolderById('XXXXXXXXXXXXXXXXXXXXXXXX');
var files = folder.getFiles();
var shift = new Date().getTime() + 1000*60*60*5
var today = new Date(new Date(shift).toDateString()).getTime();
var obj = [];
while (files.hasNext()) {
var file = files.next();
var dateFromFilename = file.getName().substr(0, 10);
if (/\d{4}\/\d{2}\/\d{2}/.test(dateFromFilename)) {
var date = new Date(dateFromFilename).getTime();
if (date < today) {
obj.push({id: file.getId(), date: file.getDateCreated(), owner: file.getOwner().getEmail()});
}
}
}
return obj;
};
function deleteFiles() {
var email = "XXXXXXXXXXXXXXXXXXXX@gmail.com";
var obj = getOldFileIDs();
obj.forEach(function(e) {
if (e.owner == email) {
Drive.Files.remove(e.id);
}
});
};
Я хотел бы, чтобы скрипт также выполнял синтаксический анализ, если есть файл, имя которого не начинается с даты, если таковые имеются, которые он также удаляет, поэтому он не сможет получить старые файлы, сохраненные в папке, только потому, что не смог разобрать дату в начале имени
Правильный путь: 2019/10/20 Europe Lille x PSG.pdf
Удалить, если: Europe Lille x PSG.pdf
Что мне нужно настроить и как будет выглядеть скрипт для этого анализа?
Я пытался работать сизменения:
var dateFromFilename = file.getName().substr(0, 10);
if (/\d{4}\/\d{2}\/\d{2}/.test(dateFromFilename)) {
Но вернул ошибку при попытке добавить дополнительный if ( status = 204)
в качестве предупреждения об ошибке.