如何进行有效的搜索

时间:2017-10-29 21:44:10

标签: batch-file cmd

我有一个大型数据库(50gb),我希望通过输入一行中包含的单词来搜索特定行。 这是我的命令:

type *.txt |find /i "word_to_find" >> C:output_location.txt

但是需要花费很多时间,强调我的SSD和CPU。使用PowerShell有没有更有效的方法呢?

1 个答案:

答案 0 :(得分:0)

我建议你改用JScript,加载和运行速度比PowerShell快得多:

@if (@CodeSection == @Batch) @then

@echo off
type *.txt 2>nul | cscript //nologo //E:JScript "%~F0" >> C:output_location.txt
goto :EOF

rem End Batch section and start JScript one:
@end

var fileContents = WScript.StdIn.ReadAll(),
    search = /.*word_to_find.*/gi, match;

while ( match = search.exec(fileContents) ) {
   WScript.Stdout.WriteLine(match[0]);
}