Skip to content

Instantly share code, notes, and snippets.

@kerphi
Last active December 19, 2015 13:08
Show Gist options
  • Save kerphi/5959421 to your computer and use it in GitHub Desktop.
Save kerphi/5959421 to your computer and use it in GitHub Desktop.
Petit script en nodejs permettant d'écrire des fichiers avant des noms aléatoires dans 3 niveaux de répertoires.
#!/usr/bin/env node
/**
* Script chargé de générer des fichiers avec des noms alléatoires
* dans une structure de 3 répertoires imbriqués.
*
* Paramètres :
* rootPath : répertoire où seront écrits les répertoires et les fichiers
* nbfile : le nombre de fichiers à créer avant que le script prenne fin automatiquement
* tempo : le temps max d'attente entre la création de deux fichiers
*
* Exemple de fichiers/répertoires générés :
* in/3/7/0/3708ab4f-6e88-45dd-8a08-eee45eb79a59
* in/4/f/a/4fa2a064-0ef1-4349-892a-72374f5173c7
* in/6/8/c/68cc540f-2a9a-4a81-a3a5-e1f7a489e2b6
* in/5/a/1/5a1b5b3e-dd76-459f-8f2f-9335a2e65a7f
* in/e/5/4/e5428d38-f944-42da-9897-9b67b33e818b
* ...
*
* Installation :
* npm install uuid mkdirp
*/
var rootPath = __dirname + '/in';
var nbfile = 2000000;
var tempo = 100;
var fs = require('fs');
var uuid = require('uuid');
var mkdirp = require('mkdirp');
function generateFakeFile() {
var id = uuid.v4();
var path = rootPath + '/' + id[0] + '/' + id[1] + '/' + id[2];
var file = path + '/' + id;
// write random files
mkdirp.sync(path);
fs.writeFileSync(file, '.');
console.log(file + ' created [' + nbfile + ']');
nbfile--;
// run generateFakeFile randomly
setTimeout(function () {
generateFakeFile();
}, Math.round(Math.random() * tempo));
}
// run it once
generateFakeFile();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment