检查是否存在多个文件夹?

时间:2016-11-11 17:59:09

标签: javascript gulp fs

我使用fs.stat来检查文件夹是否存在:

fs.stat('path-to-my-folder', function(err, stat) {
    if(err) {
        console.log('does not exist');
    }
    else{
        console.log('does exist');
    }
});

有没有办法仅使用一种方法检查多个路径的存在?

2 个答案:

答案 0 :(得分:2)

fs没有开箱即用的功能,但您可以创建一个功能来执行此操作。

function checkIfAllExist (paths) {
  return Promise.all(
    paths.map(function (path) {
      return new Promise(function (resolve, reject) {
        fs.stat(path, function (err, stat) {
          err && reject(path) || resolve()
        });
      });
    }))
  );
};

您可以这样使用:

checkIfAllExist([path1, path2, path3])
  .then(() => console.log('all exist'))
  .catch((path) => console.log(path + ' does not exist')

你可以在不同的点上调整它以使其失败,但是你会得到一般的想法。

答案 1 :(得分:1)

不,文件系统API没有检查是否存在多个文件夹的功能。您只需多次调用fs.stat()函数。