Skip to content

Instantly share code, notes, and snippets.

@jdomzhang
Forked from scriptex/rename.js
Last active February 26, 2019 08:26
Show Gist options
  • Save jdomzhang/a201d9a023f3f4575a2018eb7b13fc52 to your computer and use it in GitHub Desktop.
Save jdomzhang/a201d9a023f3f4575a2018eb7b13fc52 to your computer and use it in GitHub Desktop.
Rename all files in a folder with NodeJS
const fs = require('fs');
const path = require('path');
const args = process.argv.slice(2);
const dir = args[0];
const match = RegExp(args[1], 'g');
const replace = args[2];
const files = fs.readdirSync(dir);
files
.filter(file => {
return file.match(match);
})
.forEach(file => {
const filePath = path.join(dir, file);
const newFilePath = path.join(dir, file.replace(match, replace));
fs.renameSync(filePath, newFilePath);
});
// Usage
// node rename.js path/to/directory 'string-to-search' 'string-to-replace'
// on windows:
// node .\rename.js .\banner banner- \
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment