Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fs = require("fs");
- var path = require("path");
- var walk = function (start, callback) {
- fs.lstat(start, function (err, stat) {
- if (err) return callback(err)
- if (stat.isDirectory() && !stat.isSymbolicLink()) {
- fs.readdir(start, function (err, files) {
- if (err) return callback(err)
- var dirs = []
- , notDirs = []
- , IL = files.length
- for (i = 0; i < IL; i++) {
- var abspath = path.join(start, files[i]);
- var _stat = fs.lstatSync(abspath);
- if (_stat.isDirectory() && !_stat.isSymbolicLink()) {
- dirs.push(abspath);
- walk(abspath, callback);
- } else {
- notDirs.push(abspath);
- }
- }
- return callback(null, start, dirs, notDirs);
- });
- } else {
- return callback(new Error("path: " + start + " is not a directory"));
- }
- });
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement