2

Вот что у меня есть:

SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@echo off
set num=0
set "suffix="
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"

Я искал через форум и интернет без результатов. Не возражаете, если кто-нибудь укажет мне правильное направление?

Изменить: Обнаружил ошибку, ниже прилагается для справки.

SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@echo off
set num=0
set "suffix="
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! >>"%~dp0%date:~-4,4%-%date:~-10,2%-%date:~-7,2% Logfile.txt"
      set num=1
      set suffix=%%~xs
   )
)

1 ответ1

1

Ваше "эхо" находится вне цикла for / do , поэтому оно будет напечатано только один раз. Поместите его в раздел do как это:

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"
)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .