如何检查文件在node.js中是否可执行?

Dre*_*eur 6 filesystems node.js

如何检查文件在node.js中是否可执行?

也许是这样的

fs.isExecutable(function (isExecutable) {

})
Run Code Online (Sandbox Code Playgroud)

Dan*_*Guo 11

仅依赖于内置fs模块的另一个选项是使用fs.accessfs.accessSync.此方法比获取和解析文件模式更容易.一个例子:

const fs = require('fs');

fs.access('./foobar.sh', fs.constants.X_OK, (err) => {
    console.log(err ? 'cannot execute' : 'can execute');
});
Run Code Online (Sandbox Code Playgroud)


Dan*_*iel 7

你会使用这个fs.stat电话.

fs.stat调用返回一个fs.Stats对象.

在那个对象是一个mode属性.该模式将告诉您文件是否可执行.

在我的例子中,我创建了一个文件chmod 755 test_file然后执行了一个文件然后通过以下代码运行它:

var fs = require('fs');
test = fs.statSync('test_file');
console.log(test);
Run Code Online (Sandbox Code Playgroud)

我得到的test.mode是33261.

此链接有助于转换mode回等效的unix文件权限.