гм... так всё-таки сначала дата, потом сумма?..
Цитата NiOl:
для set при замене подстроки не важно, какой символ искать »
|
интересно, не думал что и для русских так же... учитывая половинчатую локализацию CMD
по ходу M$ забыли для SET ключик /I аналогично IF
Цитата NiOl:
Неинициализированные в основном теле переменные (в моем случае S и W) работают как локальные »
|
не заметил... возможно, это связано с переносами SetLocal - она ограничивает область видимости
Цитата NiOl:
наличие записи set b=!Chars:%ch%=%ch%! требует включения этого режима »
|
можно обойти через CALL:
читать дальше »
Код:

@Echo Off
Set Chars=abcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщъыьэюя
For /F "Usebackq Tokens=2* Delims= " %%P in ("%~n0.txt") Do If Not %%P_==_ If Not %%Q_==_ Set "C=%%P"& Set "ch=%%Q"& Call :CALC
GoTo :NEXT
:CALC
Set "C=%C: =%"
Set "C=%C:.=&REM.%"
Set "C=%C:,=&REM.%"
Call Set "b=%%Chars:%ch:~0,1%=%ch:~0,1%%%"
If %Chars%==%b% (Set /A T+=C,W+=C) Else Set /A T+=C,S+=C
GoTo :EOF
:NEXT
Set S= %S%
Set S=%S:~-11%
Set W= %W%
Set W=%W:~-11%
Set T= %T%
Set T=%T:~-11%
Echo Spares: %S%
Echo Service:%W%
Echo ===================
Echo Total: %T%