Para criação de pastas o mais conveniente (unix) é utilizar mkdir -p, o qual:
-p, --parents no error if existing, make parent directories as needed
tem-se então o semelhante como módulo de node, o mkdirp.
var mkdirp = require('mkdirp');
mkdirp('/tmp/foo/bar/baz', function (err) {
if (err) console.error(err)
else console.log('pow!')
});Tal como ocorre em unix (mv a b), para mover um arquivo basta renomeá-lo para um outro sendo especificado o diretório e mantendo o nome, em tal caso.
Utilizar copy-file.js, o qual recebe (source, target, callback), sendo que o callback receberá um arugmento se houver erro; caso contrário, nada.
Para criar arquivos basta utilizarmos o semelhante ao cat > arquivo:
fs.writeFile('message.txt', 'Hello Node', function (err) {
if (err) throw err;
console.log('It\'s saved!');
});podendo-se passar como argumento um buffer.
Para deletarmos arquivos precisamos simplesmente utilizar o fs.unlink(path, callback).
Para deletar pastas temos um método fs.rmdir. Este, entretanto, assim como em UNIX, apenas remove pastas vazias:
rmdir - remove empty directories : Remove the DIRECTORY(ies), if they are empty.
Para que possamos então remover um diretório e seus arquivos precisamos então definir uma função recursiva (e sícrona) para tal (tal como implementado em delete-dir.js).
Cool!!