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

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

Googler


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

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


Цитата volk1234:
команда -unlockall просто вызывает завершение скроипта »
не ЗАВЕРШЕНИЕ, а пропуск обработки парметров и ПРОДОЛЖЕНИЕ работы скрипта, можно и так:
Код: Выделить весь код
@Echo Off

Set $I=0& For %%i In (%*) Do Set $P=%%i& Call :CMD_PARSE
If Defined $SKIP (GoTo :UnlockAll
) Else For /F "Tokens=1* Delims==" %%i In ('Set $_') Do 2>Nul Call :%%j||Call :ERR0 %%j

  Echo Код ПОСЛЕ обработки всех ключей
Exit /B

:UnlockAll
  Echo Код ВМЕСТО обработки ключей с последующим выходом
Exit /B

:REG1
  Echo REG1 %*
Exit /B 0

:REG2
  Echo REG2 %*
Exit /B 0

:ERR0
  Echo ОШИБКА! Ключ "%1" не поддерживается!
GoTo /B 0

:CMD_PARSE
  If /I "%$P%"=="-unlockall" Set $SKIP=TRUE
  If /I "%$P:~0,1%"=="-" Set $P=%$P:~1%& Set /A $I=%$I%+1
  Call Set $_%$I%=%%$_%$I%%%%$P% 
GoTo :EOF
P.S. Если заменить "GoTo" на "CALL :", то в :UnlockAll будет "Код ВМЕСТО обработки ключей с последующим ПРОДОЛЖЕНИЕМ"
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:54, 18-12-2009 | #26