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



我需要浏览一个文本文件(快速),并为每一行包含一个特定的值(表示为%Val%),我基本上想这样做:"set/a Count+=1",以便在它的末尾%Count% =文本文件中%Val%的数量。这是我所拥有的,但它需要很长时间,因为它必须通过文件中的所有几百行:

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

使用FINDSTR查找与搜索完全匹配的行,并将结果管道到find以计算匹配的数量。使用FOR/F循环来捕获结果。

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

最新更新