次の JScript コードを使用して、ファイル内の文字列を検索しています。
var myFile = aqFile.OpenTextFile(fileToSearchIn, aqFile.faRead, aqFile.ctANSI);
while(!myFile.IsEndOfFile())
{
s = myFile.ReadLine();
if (aqString.Find(s, searchString) != -1)
Log.Checkpoint(searchString + " found.", s);
}
myFile.Close();
これはかなり遅いです。ファイルプロセスでの検索を高速化するために、bash コマンドを使用することを考えていました。
var WshShell = new ActiveXObject("WScript.Shell");
var oExec = WshShell.Exec("C:\\cygwin\\bin\\bash.exe -c 'cat \"" + folderName + "/" + fileName + "\"'");
while (!oExec.StdOut.AtEndOfStream)
Log.Checkpoint(oExec.StdOut.ReadLine());
while (!oExec.StdErr.AtEndOfStream)
Log.Error(oExec.StdErr.ReadLine());
bash.exe が開始されるたびに新しいウィンドウが開くため、検索は以前より高速ではありません。別のスイッチを使用してバックグラウンドで bash を実行する可能性はありますか?