2016-04-18 25 views
0

node.jsを使用しています。私は、拡張子.coffee、 ですべてのファイルをループしたいと思いますが、私はどこでもexapleを見つけました。誰かが私を助けることができますか?指定した拡張子を持つすべてのファイルを取得するnode.js

ありがとうございます!

+0

? * nixフレーバー、MacまたはWindows? – NZD

+0

@NZD私はArch Linuxを使用していますが、WindowsとMacでも動作するとうれしいです。 –

+0

おそらく['fs.readdir()'](https://nodejs.org/api/fs.html#fs_fs_readdir_path_callback)と恐らく['path.extname()'](https:// nodejs)を探しています。 org/api/path.html#path_path_extname_p)。 – jfriend00

答えて

1

次の関数は、正規表現が指定されたディレクトリ内のすべてのファイルを返します。

機能

var path = require('path'), fs=require('fs'); 

function fromDir(startPath,filter,callback){ 

    //console.log('Starting from dir '+startPath+'/'); 

    if (!fs.existsSync(startPath)){ 
     console.log("no dir ",startPath); 
     return; 
    } 

    var files=fs.readdirSync(startPath); 
    for(var i=0;i<files.length;i++){ 
     var filename=path.join(startPath,files[i]); 
     var stat = fs.lstatSync(filename); 
     if (stat.isDirectory()){ 
      fromDir(filename,filter,callback); //recurse 
     } 
     else if (filter.test(filename)) callback(filename); 
    }; 
}; 

使用法、使用しているOSは何

fromDir('../LiteScript',/\.coffee$/,function(filename){ 
    console.log('-- found: ',filename); 
}); 
+0

これをやるのが簡単な方法についてはjfriend00のコメントを参照してください。でもうまくいきます:) –

関連する問題