В google-apps-script есть ли способ узнать, пуста ли папка на диске Google?
Я хотел бы написать сценарий приложений Google для очистки каждой пустой папки на моем диске Google, какой метод / свойство я должен использовать для проверки текущей папки (я могу написать цикл) действительно пустой, то есть без каких-либо файлов или каких-либо других вложенная папка внутри?
И что произойдет, если вы удалите папку, с которой связаны некоторые файлы? Эти файлы удаляются или становятся осиротевшими (если они связаны только с папкой, конечно)?
Спасибо.
- приветственное,
Тициано Солиньяни, да Мак http://blog.solignani.it/
Это то, что я кодировал после первого полезного ответа, я просто вставил нумерацию страниц:
function FindEmptyFolders() {
var pageSize = 200;
var folders = null;
var token = null;
var i = null;
Logger.clear()
do {
var result = DocsList.getAllFoldersForPaging(pageSize, token);
folders = result.getFolders();
token = result.getToken();
for (var i = 0; i < folders.length; i++) {
for(n=0;n<folders.length;++n){
if(folders[n].getFiles().length==0 && folders[n].getFolders().length==0){
folders[n].setTrashed(true)
Logger.log(folders[n].getName())
Logger.log(folders[n].getUrl())
}
}
}
} while (folders.length == pageSize);
MailApp.sendEmail('solignani@solignani.it', 'Script eliminazione folders vuoti Log', Logger.getLog());
}
1 ответ
Решение
Этот код делает работу
function testForEmptyFolders() {
var folders = DocsList.getAllFolders()
for(n=0;n<folders.length;++n){
if(folders[n].getFiles().length==0 && folders[n].getFolders().length==0){
folders[n].setTrashed(true)
Logger.log(folders[n].getName())
}
}
}
В логгере отображаются имена удаленных папок