Skip to content

Instantly share code, notes, and snippets.

@3ffon
Created December 14, 2016 05:26
Show Gist options
  • Save 3ffon/08ec0d5361a2d42b786a02b657ae7605 to your computer and use it in GitHub Desktop.
Save 3ffon/08ec0d5361a2d42b786a02b657ae7605 to your computer and use it in GitHub Desktop.
nodejs - flatten sub-folder's files with a prefix
/*
assumed direcotry structure:
/somedir
/AF3
/somefile.txt
/picture.jpg
/GD3
/file.txt
/picture.png
/AF2
/picture.JPG
resault:
/somedir
/AF3_somefile.txt
/AF3_picture.jpg
/GD3_file.txt
/GD3_picture.png
/AF2_piccture.JPG
*/
var fs = require('fs'),
path = require('path');
var MAIN_DIR_PATH = process.argv[2],
folders = fs.readdirSync(MAIN_DIR_PATH);
folders.forEach(function(folder){
var file_stat = fs.statSync(path.join(MAIN_DIR_PATH, folder));
if (file_stat.isDirectory()){
var inner_files =
fs.readdirSync(path.join(MAIN_DIR_PATH, folder))
.forEach(function(file){
fs.renameSync(
path.join(MAIN_DIR_PATH, folder, file), //oldpath
path.join(MAIN_DIR_PATH, folder+'_'+file) //newpath&filename with prefix
);
});
fs.rmdirSync(path.join(MAIN_DIR_PATH, folder)); //delete the empty dir
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment