测试文本文件(批处理)中有多少特定值?

时间:2013-03-01 22:26:27

标签: batch-file

我需要查看一个文本文件(快速)和包含特定值的每一行(表示为%Val%),我基本上想要这样做:“set / a Count + = 1”,以便通过结束%计数%=文本文件中%Val%的数量。这就是我所拥有的,但它需要很长时间,因为它必须得到文件中的所有几百行:

set Count=0
FOR /F "usebackq delims=" %%a in ("%File%") do (
  if "%%a" == "%Val%" set /a Count+=1
)
echo.%Count%

1 个答案:

答案 0 :(得分:2)

使用FINDSTR查找与您的搜索完全匹配的行,并将结果通过管道传递给FIND以计算匹配数。使用FOR / F循环捕获结果。

for /f %%N in ('findstr /xlc:"%val%" "%file%"^|find /c /v ""') do set count=%%N