0

我需要(快速)查看一个文本文件以及包含特定值(表示为 %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%
4

1 回答 1

2

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

for /f %%N in ('findstr /xlc:"%val%" "%file%"^|find /c /v ""') do set count=%%N
于 2013-03-02T01:10:31.060 回答