2013-03-01 44 views
0

我需要查看一个文本文件(快速),并为每一行包含一个特定的值(表示为%Val%),我基本上想这样做:“set/a Count + = 1”,以便到最后它的%计数%=文本文件中%Val%的数量。下面是我有什么,但它需要WAAY长期导致它有得了尽管所有几百行的文件中:测试文本文件(批处理)中某个值的数量?

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

回答

2

使用FINDSTR找到完全符合您的搜索线和管道结果,以找到计算匹配的数量。使用FOR/F循环捕获结果。

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

给出了错误“之争后/ C失踪” – BBMAN225 2013-03-03 01:17:17

+0

如果我不理它,然后再试一次它说:“FINDSTR:无法打开” – BBMAN225 2013-03-03 01:29:13

+0

没关系,错误是我的一部分。我忘记了val。但是你的代码很好用! – BBMAN225 2013-03-03 01:49:23