Guest User

Untitled

a guest
Feb 22nd, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. var fs = require('fs'),
  2. glob = require('glob-fs')({ gitignore: true }),
  3. path = require('path'),
  4. mm = require('musicmetadata'),
  5. args = process.argv.slice(2),
  6. dir = args[0],
  7. outDir = args[1] || path.dirname(dir),
  8. files;
  9.  
  10. files = glob.readdirSync(dir);
  11.  
  12. files.forEach(function(file) {
  13. var parser = mm(fs.createReadStream(file), function (err, metadata) {
  14. if (err) throw err;
  15. var artist = metadata.artist.join(', ');
  16. var title = metadata.title;
  17. var newFilePath = path.join(outDir, (path.basename(file)).replace(path.basename(file, '.mp3'), `${artist} - ${title}`))
  18.  
  19. fs.renameSync(file, newFilePath);
  20. });
  21. });
  22.  
  23. // Usage
  24. // node renameByMetadata.js path/to/directory/*.mp3 path/to/outDirectory(optional)
  25. // Example: ReOrder, Driftmoon - #Slovakboys (Extended Mix), Driftmoon - #Slovakboys (Extended Mix).mp3
Add Comment
Please, Sign In to add comment