我正在尝试编写一个脚本,该脚本会将Google云端硬盘中的大量照片和视频分类到文件夹中,以使妻子更容易找到所需的内容。不幸的是,她必须使用云端硬盘而不是Google Photos,因此她无法使用Photos可以为她提供的更强大的排序功能。
警告:我不是程序员,所以我真的不知道自己在做什么。我认为我要告诉脚本要查找的文件夹,然后告诉它搜索在文件名方面符合特定条件的文件,但是脚本从其搜索结果返回null
我曾尝试使用searchFiles(以“名称包含[my string var]作为参数”)和getFilesByName(以我的字符串var作为参数)。在这两种情况下,我都得到了命名文件夹,但没有文件。
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()是FALSE,这似乎与没有文件复制到文件夹的事实是一致的。
任何帮助将不胜感激。我确定我只是在做一些愚蠢的事情。谢谢!
答案 0 :(得分:0)
以下是显示所有JPEG文件的示例
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');
}