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

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

Googler


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

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


1. Увы, без процедур пока не выходит:
Код: Выделить весь код
@Echo Off

Call :StringLen "qwert yuiop"
Echo %$StringLen%

:StringLen
:: -----------------------
:: Нахождение длины строки
:: -----------------------
:: %1 - текстовая строка
:: -----------------------
   Set $StringLen=0&Set $StringBuf=%~1
   If ""=="%~1" GoTo :EOF
:StringLenLoop
   Set /A $StringLen+=1
   Call Set $StringChr=%%$StringBuf:~%$StringLen%%%
   If ""=="%$StringChr%" GOTO :EOF
GoTo :StringLenLoop
2. Два варианта:
Код: Выделить весь код
@Echo Off

Set a=qwertyuiop
Set b=1
Set c=2

Call Set d=%%a:~%b%,%c%%%
Echo %d%
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion

Set a=qwertyuiop
Set b=1
Set c=2

Set d=!a:~%b%,%c%!
Echo %d%
3. Вроде работает:
Код: Выделить весь код
@Echo Off

Set $CMD=DIR
Call %$CMD%
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:48, 08-07-2009 | #2