usagizmo
3/28/2015 - 1:58 AM

iPhotoのすべてのオリジナル画像を特定のディレクトリに移動

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);
  });
})