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

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

Новый участник


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

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


Цитата Elven:
Сильно критично чтобы все это было ванлайном? этж убицца такое читать. »
Понимаю. Извиняюсь. Стараюсь, но это трудно.

Цитата Elven:
как именно 'оно крашится'? »
Если изначально переменная имеет любое значение, то оно изменяется согласно if, но если в дело вступает else... окно тупо исчезает/закрывается. Поэтому я не могу уловить, почему. Полагаю - синтаксис. такое было в других местах в экспериментировании всей этой затеи.

До следующего упрощенного примера я допёр, когда разбирался в проблеме. Здесь все работает как надо, но вот там, где необходимо - не работает.
мх. утром я делал тоже самое, и когда x менялся с числа на слово, были краши.
Код: Выделить весь код
set x=900 
:1
cls & echo %x%
echo =======
 choice /c 12 /n
   if %ErrorLevel%==1 (if %x%==0 (set x=1 & goto 1) else (set x=0 & goto 1))
   if %ErrorLevel%==2 (if %x%==акула (set x=спит & goto 1) else (set x=акула & goto 1))
п.с. На Superuser указали на Setlocal EnableDelayedExpansion. Весь день в нем пытался разобраться... Озарения не пришло. Тяжело сообразить, как это вообще можно использовать. Понятным примером был:
Код: Выделить весь код
setlocal EnableDelayedExpansion
Set var1=Hello ABC how are you
Set var2=ABC
Set result=!var1:%var2%=Beautiful!
Echo [!result!]
Но он удаляет(т.е. заменяет) из строки. Он не может добавить между двух слов(по сути в пустое место посреди строки) предложение (либо мне не хватает знаний) т.к. что-то в строке меняется при вводе, что-то нужно добавить. Это для меня пока сложно и не в приоритете. Возможно есть другой подход. Но это уже другая тема.

Последний раз редактировалось dbillika, 18-01-2019 в 17:19.


Отправлено: 17:00, 18-01-2019 | #4