Передача значения переменной в IF при EnableExtensions
Уверен все дело с приоритетом % - выше и ! - ниже при SetLocal EnableExtensions в IF, но правильно расставить сымволику не смог.
Прошу помощи, если можно, с коментариями.
Код:
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
Set NumLet=0
Set ABC=ABCDEFGHIJKLMNOPQRSTUVWXYZ
IF /I "10"=="10" (
Set /A NumLet=NumLet+1
Set Letter=!ABC:~%NumLet%,1!
@echo [Не правильно] Номер буквы !NumLet! буква !Letter!
) ELSE (
Set NumLet=0
Set Letter=!ABC:~%NumLet%,1!
@echo [Нет] Номер буквы !NumLet! буква !Letter!
)
Set Letter=!ABC:~%NumLet%,1!
@echo [Правильно] Номер буквы %NumLet% буква %Letter%
pause
|
kotik147, попробуйте так:
Код:
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
Set NumLet=0
Set ABC=ABCDEFGHIJKLMNOPQRSTUVWXYZ
IF /I "10"=="10" (
Set /A NumLet=NumLet+1
Call :_mark
@echo [Не правильно] Номер буквы !NumLet! буква !Letter!
) ELSE (
Set NumLet=0
Call :_mark
@echo [Нет] Номер буквы !NumLet! буква !Letter!
)
Set Letter=!ABC:~%NumLet%,1!
@echo [Правильно] Номер буквы %NumLet% буква %Letter%
pause
:_mark
Set Letter=!ABC:~%NumLet%,1!
GoTo :EOF
Комментарии оставлю специалистам. :)
|
Время: 15:58.
© OSzone.net 2001-