Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата NiOl:
usebackq tokens=2,3 »
гм... так всё-таки сначала дата, потом сумма?..
Цитата 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%
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:19, 18-06-2010 | #6