2012-05-29 78 views
0

JScript中搜索我使用下面的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?

回答

0

每調用WshShell.Exec將啓動一個新的過程,這是一個昂貴的過程。如果你的文本文件不是太大,這將防止產生一個新的進程:

​​

這將不打印整條生產線,但發現位置的索引。如果你想要整行,從那裏搜索行結尾。