我正在尝试弄清楚如何修改此脚本以进行精确搜索。我需要搜索一个字符串(例如:“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 正在查找解析的值: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