Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fs = require('fs'),
- glob = require('glob-fs')({ gitignore: true }),
- path = require('path'),
- mm = require('musicmetadata'),
- args = process.argv.slice(2),
- dir = args[0],
- outDir = args[1] || path.dirname(dir),
- files;
- files = glob.readdirSync(dir);
- files.forEach(function(file) {
- var parser = mm(fs.createReadStream(file), function (err, metadata) {
- if (err) throw err;
- var artist = metadata.artist.join(', ');
- var title = metadata.title;
- var newFilePath = path.join(outDir, (path.basename(file)).replace(path.basename(file, '.mp3'), `${artist} - ${title}`))
- fs.renameSync(file, newFilePath);
- });
- });
- // Usage
- // node renameByMetadata.js path/to/directory/*.mp3 path/to/outDirectory(optional)
- // Example: ReOrder, Driftmoon - #Slovakboys (Extended Mix), Driftmoon - #Slovakboys (Extended Mix).mp3
Add Comment
Please, Sign In to add comment