2013-04-28 75 views

回答

6

你會使用fs.stat呼籲。

fs.stat調用返回一個fs.Stats對象。

該對象是mode屬性。該模式會告訴你該文件是否可執行。

就我而言,我創建了一個文件,並做了chmod 755 test_file,然後運行它通過下面的代碼:

var fs = require('fs'); 
test = fs.statSync('test_file'); 
console.log(test); 

我得到了test.mode什麼是33261.

This link是用於轉換mode有幫助回到unix文件的權限等價。

+0

還有一個非常有用的模塊[模至權限(https://github.com/mmalecki/mode-to-permissions) - 如果你不想用亂七八糟的細節。 – tomekwi 2015-12-17 20:24:23

+0

對,我會upvote這個,如果它解釋如何找到一個文件是可執行的給定模式 – 2017-11-25 03:03:09

5

只依賴於另一種選擇內置fs模塊是爲使用fs.accessfs.accessSync。這種方法比獲取和解析文件模式更簡單。舉個例子:

const fs = require('fs'); 

fs.access('./foobar.sh', fs.constants.X_OK, (err) => { 
    console.log(err ? 'cannot execute' : 'can execute'); 
}); 
+0

讀/寫,或執行?我們需要能夠執行文件 – 2017-11-25 00:06:48

+0

好點。我更新了示例以匹配具體問題。 – 2017-11-25 04:15:00

相關問題