如何检查文件夹

时间:2018-06-13 12:49:13

标签: javascript node.js fs

我正在尝试处理特定路径下的某些目录。其中一个目录包含一些文件夹。实际上,我没有 访问所有这些文件夹,因为其中一些是我自己的,其他文件属于其他用户。

我的问题是,在javascript中有什么方法可以检查特定文件夹的访问权限吗?因为我想做的是先检查一下我是否有 访问打开并查看该文件夹的内容。如果我有权访问它,那么逻辑将继续。如果我没有权利打开那个 文件夹,然后我会做其他事情。

请让我知道如何检查我对文件夹或文件的访问权限

注意

我正在使用Ubuntu

2 个答案:

答案 0 :(得分:0)

试试这个

var fs = require('fs');

fs.access(__dirname, fs.constants.R_OK, function(err) {
  if(err){
    console.error("can't read");
    process.exit(1);
  }

  console.log("can read");
  process.exit(0);
});

您可以检查写入和可执行访问的方式

您可以找到文档here

答案 1 :(得分:0)

您可以使用fs执行任务

var file= 'test.text'

// Check if the file exists in the current directory.
fs.access(file, fs.constants.F_OK, (err) => {
  console.log(`${file} ${err ? 'does not exist' : 'exists'}`);
});

// Check if the file is readable.
fs.access(file, fs.constants.R_OK, (err) => {
  console.log(`${file} ${err ? 'is not readable' : 'is readable'}`);
});

// Check if the file is writable.
fs.access(file, fs.constants.W_OK, (err) => {
  console.log(`${file} ${err ? 'is not writable' : 'is writable'}`);
});

// Check if the file exists in the current directory, and if it is writable.
fs.access(file, fs.constants.F_OK | fs.constants.W_OK, (err) => {
  if (err) {
    console.error(
      `${file} ${err.code === 'ENOENT' ? 'does not exist' : 'is read-only'}`);
  } else {
    console.log(`${file} exists, and it is writable`);
  }
});

More详细信息