Вы можете использовать следующий код:
var ROOT_FOLDER_ID = 'YOUR_ROOT_FOLDER_ID';
var DESTINATION_FOLDER_ID = 'YOUR_DESTINATION_FOLDER_ID';
function moveFolder(folder, destinationFolder) {
var folderParents = folder.getParents();
while (folderParents.hasNext()) {
folderParents.next().removeFolder(folder);
}
destinationFolder.addFolder(folder);
}
function getLastCreated(folder) {
var dates = [folder.getDateCreated()];
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
dates.push(file.getDateCreated());
}
return Math.max.apply(Math, dates);
}
function myFunction() {
var rootFolder = DriveApp.getFolderById('1dFyAuwyVn3VFvMxZX2bzxf5K8ygdIol6');
var folders = rootFolder.getFolders();
var results = [];
while (folders.hasNext()) {
var folder = folders.next();
var folderId = folder.getId();
var folderLastCreated = getLastCreated(folder);
results.push({'folderId': folderId, 'folderLastCreated': folderLastCreated});
}
results.sort(mySort);
var lastCreatedFolder = DriveApp.getFolderById(results[0].folderId);
var destinationFolder = DriveApp.getFolderById(DESTINATION_FOLDER_ID);
moveFolder(lastCreatedFolder, destinationFolder);
}
function mySort(a, b) {
var a = a.folderLastCreated;
var b = b.folderLastCreated;
if (a > b) return -1;
if (a < b) return 1;
return 0;
}
Он найдет папку, которая была создана в последний раз (или что любой из ее дочерних элементов был создан в последний раз), а затем переместит ее в папку назначения. Если вам нужно переместить папку, которая была наименее недавно созданной , вам нужно только изменить функцию mySort(a, b)
на следующую:
function mySort(a, b) {
var a = a.folderLastCreated;
var b = b.folderLastCreated;
if (a > b) return 1;
if (a < b) return -1;
return 0;
}
, чтобы сделатьэто работает, пожалуйста, не забудьте изменить первые две строки для идентификаторов желаемой папки.