Bruce Wayne |
26-07-2013 22:58 2191341 |
Поиск текста в переменной
Доброе время суток!
Подскажите, пожалуйста, как можно реализовать поиск текста в переменной? Чтобы, например, если переменная %%i содержала слово (не обязательно выделенное пробелами или иными разделительными знаками) Advanced, то открывался бы блокнот? И, если можно, как подобное можно провернуть с несколькими словами? Например, со словами Advanced, Micro, Devices и Inc.?
Заранее спасибо!
|
Пример с одним словом:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set sVar=bla-bla-blaAdvancedbla-bla-bla
if not "%sVar%" equ "%sVar:Advanced=%" (
echo Found
) else (
echo Not found
)
endlocal
exit /b 0
Пример с несколькими словами:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set sVar=bla-bla-blaInc.bla-bla-bla
set /a bFound = 0
for %%i in (Advanced Micro Devices Inc.) do (
if not "%sVar%" equ "!sVar:%%i=!" (
set /a bFound = 1
)
)
if %bFound% equ 1 (
echo Found
) else (
echo Not found
)
endlocal
exit /b 0
|
Код:
@echo off &setlocal enableextensions
for /f "delims=" %%i in ('type text.txt') do (
echo(%%i|findstr /c:Advanced >nul &&echo(%%i|findstr /c:Micro >nul &&echo(%%i|findstr /c:Devices >nul &&echo(%%i|findstr /c:Inc. >nul &&echo Found
)
pause
|
kiripanda, точно, подзабыл. Тогда ещё проще:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set sVar=bla-bla-blaInc.bla-bla-bla
echo %sVar%| findstr.exe /c:"Advanced" /c:"Micro" /c:"Devices" /c:"Inc." && echo Found || echo Not found
endlocal
exit /b 0
|
Не, тогда Found будет на любое из слов, а как я понял нужно все слова одновременно:
Advanced AND Micro AND Devices AND Inc.
|
Цитата:
Цитата kiripanda
Не, тогда Found будет на любое из слов, а как я понял нужно все слова одновременно: »
|
Ну, а я понял именно что любое.
Одним словом, придёт автор — выберет по вкусу ;).
|
Bruce Wayne |
27-07-2013 08:24 2191438 |
Iska, kiripanda, спасибо вам огромное! Оба варианта (с реакцией хотя бы на одно из нескольких слов и только на все) великолепны! :up: То что надо! :ok:
|
Bruce Wayne, так Вам-то какой был нужен?!
|
Bruce Wayne |
28-07-2013 07:43 2191973 |
Iska, изначально был нужен Ваш вариант, но впоследствии я понял, что решение kiripanda тоже подойдёт в некоторых случаях. Словом, вы оба угадали :) Извините, что сразу не поставил конкретную задачу... Ещё раз большое спасибо! :oszone:
|
Время: 23:16.
© OSzone.net 2001-