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!!