Я пытаюсь понять, как изменить этот скрипт, чтобы выполнить точный поиск. Мне нужно найти строку (например: "123.12" -- с кавычками)
Это мой сценарий до сих пор:
findstr %1 %systemdrive%\test\data.txt
IF %ERRORLEVEL% GTR 0 (
--- TRUE- DO SOMETHING
) ELSE (
--- FALSE- EXIT
)
Это мой файл data.txt
"123.123" "345.345" "794.922"
(с кавычками)
Проблема в том, что findstr находит значение parsed: 123.12, но его нет в моем списке. Он ошибочно определяет 123.123 и 123.12 как его часть. Вот почему я хотел бы знать, есть ли способ сделать поиск с кавычками, я имею в виду, отформатировать проанализированное значение и добавить его кавычки для поиска внутри текстового файла.
Я безуспешно пробовал "%1".
Заранее спасибо !!
РЕДАКТИРОВАТЬ
Я пытаюсь изменить пакетный сценарий брандмауэра, чтобы заблокировать определенные IP-адреса.
Это сценарий
ipconfig | findstr "Address" | qut -d: -f 2 | qni > %systemdrive%\Qaas\host_ip.txt
findstr \"%1\" %systemdrive%\Qaas\bin\host_ip.qas || findstr \"%1\" %systemdrive%\Qaas\white_list.txt || findstr \"%1\" %systemdrive%\Qaas\blocqedips.qas
IF %ERRORLEVEL% GTR 0 (
echo "NOT FOUND"
netsh ipsec stat add filter filterlist="IP List" srcaddr=%1 dstaddr=Me description=%1 protocol=any mirrored=yes
echo Blocked IP address %1, reason - %2 connections on %3 >> %systemdrive%\Qaas\Qaas-%dw%-%mm%-%dd%-%hh%.log
echo %1 >> %systemdrive%\Qaas\blocqedips.qas
) ELSE (
echo "FOUND"
echo %1 is either host IP or already blocked earlier >> %systemdrive%\Qaas\Qaas-%dw%-%mm%-%dd%-%hh%.log
)
Это заблокированный IP-файл: http://pastebin.com/cP4BteDM.
Теперь, пытаясь заблокировать, например, 10.02.0, я получаю в консоли «10.02.02». Я думаю, потому что 10.02.0 - это "instr" "10.02.02". С этой проблемой в предложении FINDSTR я никогда не смогу забанить, например, "10.02.0".
Спасибо за вашу помощь, я безуспешно пробовал ваши ответы: S
"\"%1\""
вместо\"%1\"
- person npocmaka   schedule 24.11.2012