CMD/BAT - [решено] Научить cmd проверять кусочек из введенной пользователем фразы.

Ответить
Аватара пользователя
unexisted

CMD/BAT - [решено] Научить cmd проверять кусочек из введенной пользователем фразы.

Сообщение unexisted »

Здравствуйте, всем.



Есть кусочек кода 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 не представляется возможным.

Но во всех фразах точно будут присутствовать выделенный фрагмент.



Заранее всем спасибо большое за идеи и помощь.
Аватара пользователя
Sham

Re: CMD/BAT - [решено] Научить cmd проверять кусочек из введенной пользователем фразы.

Сообщение Sham »

Так?

Сохранять в cp866



Код:

Код: Выделить всё

@echo off
:start
set /p a=Введите что вам нужно:
echo.%a% | findstr мышк > nul
if Not ErrorLevel 1 (main.cpl) 
goto start
Аватара пользователя
unexisted

Re: CMD/BAT - [решено] Научить cmd проверять кусочек из введенной пользователем фразы.

Сообщение unexisted »

Именно так, NickM. Спасибо большое.



Sham, вам тоже спасибо большое. Я правильно понял, в вашем варианте обязательными будут считаться символы "мыш" (три символа), и ещё обязательно один из четырех в квадратных скобках?

Или наоборот [ьаку] - они могут присутствовать, но не обязательно?



В любом случае, сейчас проведу эксперименты. Спасибо ОГРОМНОЕ!
Ответить

Вернуться в «Скриптовые языки администрирования Windows»