0
@echo off
set /a count = 0
for /f "delims=" %%a in ('dir "%~1" /a:-d /b') do call :next "%%a" "%~2"
echo found %count% occurances of "%~2"
pause
GOTO:EOF
:next
set num=
for /f "delims=" %%b in ('find /c %2 ^< %1') do set num=%%b
set /a count=count+num

私のコードは、パラメータで指定されたテキストの数が間違っています。どうしたの?

4

2 に答える 2

1

findは文字列に一致する行数をカウントするため、x が連続していなくても、「xyyx」で「x」を検索すると 1 つの一致としてカウントされます。それが必要ない場合は、別のツールが必要になります。

于 2013-11-05T18:31:23.503 に答える