要件は次のとおりです。
ディレクトリ全体に約40 mのファイルがあり、無数のファイルがあります。時間が経つにつれて、文字列がどのファイルにあるかを思い出せません。強力で盲目のnode.jsは素晴らしいデビューを果たしました。
Windowsにnode.jsをインストールすることと通常のソフトウェアのインストールに違いはありません。インストールした後、node.jsまたは直接CMDへのショートカットを開きます。
FindString.jsを作成します
コードコピーは次のとおりです。
var path = require( "path");
var fs = require( "fs");
var filepath = process.argv [2];
var lookingforstring = process.argv [3];
recursivereadfile(filepath);
function recursivereadfile(filename){
if(!fs.existsync(filename))return;
if(isfile(filename)){
check(filename);
}
if(isdirectory(filename)){
var files = fs.readdirsync(filename);
files.foreach(function(val、key){
var temp = path.join(filename、val);
if(isdirectory(temp)))recursivereadfile(temp);
if(isfile(temp))check(temp);
})
}
}
function check(filename){
var data = readfile(filename);
var exc = new regexp(lookingforstring);
if(exc.test(data))
console.log(filename);
}
関数isDirectory(filename){
if(fs.existsync(filename))return fs.statsync(filename).isdirectory();
}
function isfile(filename){
if(fs.existsync(filename))return fs.statsync(filename).isfile();
}
function readfile(filename){
if(fs.existsync(filename))return fs.readfilesync(filename、 "utf-8");
}
2つのパラメーター:最初のパラメーターは「フォルダー名」で、2番目のパラメーターは「探している文字列」です。
写真に示されているように:
ファイルパスを印刷し、作業を終了します。スピードは本当に激しく、目を盲目にしています。 。 。 Javaフルテキスト検索を使用する場合、あなたは悲惨になります...