Seu "echo" fica fora do for / do
- loop, e é por isso que ele será impresso apenas uma vez.
Coloque INTO na seção do
da seguinte forma:
for /f "delims=" %%s in ('dir /b /a-d /o:gen') do (
if /i "%%~xs" equ "!suffix!" (
set /a num+=1
) else (
if !num! neq 0 echo "!suffix!" !num!
set num=1
set suffix=%%~xs
)
echo "%suffix%" %num% >>"%~dp0%date:~-4,4%-%date:~-10,2%-%date:~-7,2% Logfile.txt"
)