Научить cmd проверять кусочек из введенной пользователем фразы.
Здравствуйте, всем.
Есть кусочек кода 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 не представляется возможным. Но во всех фразах точно будут присутствовать выделенный фрагмент. Заранее всем спасибо большое за идеи и помощь. |
Так?
Сохранять в cp866 Код:
@echo off |
Код:
for /f %%f in ('echo %a%^| findstr /I /R "^мыш[ьаку]*$"') do main.cpl & goto start |
Именно так, NickM. Спасибо большое.
Sham, вам тоже спасибо большое. Я правильно понял, в вашем варианте обязательными будут считаться символы "мыш" (три символа), и ещё обязательно один из четырех в квадратных скобках? Или наоборот [ьаку] - они могут присутствовать, но не обязательно? В любом случае, сейчас проведу эксперименты. Спасибо ОГРОМНОЕ! |
Время: 23:12. |
Время: 23:12.
© OSzone.net 2001-