我正在尝试编写一个脚本,将Google Drive上的大量照片和视频分类到文件夹中,以便我的妻子更容易找到她正在寻找的东西。不幸的是,她不得不使用Drive而不是Google Photos,所以她无法使用Photos给她的更强大的排序功能。
警告:我不是程序员,所以我真的不知道我在做什么。我想我是在告诉脚本要在哪个文件夹中查找,然后告诉它搜索符合文件名特定条件的文件,但是脚本从搜索结果中返回null。
我尝试过同时使用searchFiles (以"name contains my string var“作为参数)和getFilesByName (以string变量作为参数)。在这两种情况下,我都得到了命名的文件夹,但没有文件。
var currDate = strMonth + strDay;
var photos = currFolder.getFilesByName(
"" + "2019" + currDate + "");
var activeFolder = currFolder.createFolder(currDate);
if (photos.hasNext()) {
myLog = Logger.log("HasNext");
} else {
myLog = Logger.log("Doesn't HasNext");
}
while ( photos.hasNext() ) {
var currPhoto = photos.next();
currPhoto.makeCopy(activeFolder);
myLog = Logger.log(currPhoto);
}
我期望的是照片是脚本找到的图片列表,然后可以复制到我创建的文件夹中。但是,我的调试日志总是告诉我hasNext()是假的,这似乎与没有文件被复制到文件夹中的事实一致。
任何帮助都将不胜感激。我确定我只是在做一件愚蠢的事。谢谢!
发布于 2019-05-20 05:51:02
这是一个显示所有文件的示例
function findJPEGFiles() {
var files=DriveApp.getFilesByType(MimeType.JPEG);
var html='<style>td,th{border:1px solid black;}</style><table><tr><th>Name</th><th>Id</th><th>Url</th></tr>';
while(files.hasNext()) {
var file=files.next();
html+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td></tr>',file.getName(),file.getId(),file.getUrl());
}
html+='</table>';
var userInterface=HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Files');
}
https://stackoverflow.com/questions/56211605
复制相似问题