iPhotoのすべてのオリジナル画像を特定のディレクトリに移動
var fs = require('fs');
var glob = require('glob');
var path = require('path');
var Exif = require('exif').ExifImage;
var imageDir = 'photos/';
glob('Masters/**/*', function(err, files) {
if (err) throw err;
files.forEach(function(file) {
if (!fs.statSync(file).isFile()) return;
var basename = path.basename(file);
var lastIndex = basename.lastIndexOf('.');
var prename = basename.slice(0, lastIndex);
var extname = path.extname(basename);
var to = imageDir + prename + extname;
var m, pre, num;
while (fs.existsSync(to)) {
if (m = prename.match(/(.+?) \((\d+)\)/)) {
prename = m[1] + ' ('+(+m[2]+1)+')';
} else {
prename = prename + ' (1)';
}
to = imageDir + prename + extname;
}
fs.rename(file, to);
});
})