Здравствуйте, всем.
Есть кусочек кода cmd, который выполняет команды (открывает разные настройки) исходя из введенного пользователем запроса. Вот пример:
:start
set /p a=Введите что вам нужно:
if /i "%a%" equ "мышь" main.cpl &goto start
if /i "%a%" equ "мышка" main.cpl &goto start
if /i "%a%" equ "настроить мышку" main.cpl &goto start
if /i "%a%" equ "настройки мышки" main.cpl &goto start
Здесь команда if проверяет точное совпадение значений и только тогда выполняет main.cpl
Цель: возможно ли каким-нибудь образом сделать (создать отдельную переменную) или любым способом, чтобы команда if проверяла на совпадение только кусочек введенного пользователем значения, например "мышк"
Чтобы в итоге если пользователь ввел что-угодно содержащее "мышк" и открывались настройки мышки.
Примеры Чего-угодно что может ввести пользователь:
Открой настройки мышки
Открыть настройки мышки
Открой мне настройки мышки
Запустить настройки мышки
и т.д.
Заранее узнать что может ввести пользователь и прописывать все возможные варианты в строках if не представляется возможным.
Но во всех фразах точно будут присутствовать выделенный фрагмент.
Заранее всем спасибо большое за идеи и помощь.
CMD/BAT - [решено] Научить cmd проверять кусочек из введенной пользователем фразы.
-
Sham
Re: CMD/BAT - [решено] Научить cmd проверять кусочек из введенной пользователем фразы.
Так?
Сохранять в cp866
Код:
Сохранять в cp866
Код:
Код: Выделить всё
@echo off
:start
set /p a=Введите что вам нужно:
echo.%a% | findstr мышк > nul
if Not ErrorLevel 1 (main.cpl)
goto start-
Sham
Re: CMD/BAT - [решено] Научить cmd проверять кусочек из введенной пользователем фразы.
Код:
Код: Выделить всё
for /f %%f in ('echo %a%^| findstr /I /R "^мыш[ьаку]*$"') do main.cpl & goto start-
unexisted
Re: CMD/BAT - [решено] Научить cmd проверять кусочек из введенной пользователем фразы.
Именно так, NickM. Спасибо большое.
Sham, вам тоже спасибо большое. Я правильно понял, в вашем варианте обязательными будут считаться символы "мыш" (три символа), и ещё обязательно один из четырех в квадратных скобках?
Или наоборот [ьаку] - они могут присутствовать, но не обязательно?
В любом случае, сейчас проведу эксперименты. Спасибо ОГРОМНОЕ!
Sham, вам тоже спасибо большое. Я правильно понял, в вашем варианте обязательными будут считаться символы "мыш" (три символа), и ещё обязательно один из четырех в квадратных скобках?
Или наоборот [ьаку] - они могут присутствовать, но не обязательно?
В любом случае, сейчас проведу эксперименты. Спасибо ОГРОМНОЕ!