[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]批处理读取TXT文档每一行IP地址并添加到IP策略进行屏蔽

我想利用批处理实现一个功能,就是批处理屏蔽“危险IP列表.txt”里面的所有IP地址仿问本机80端口。

所需要用的到文件如下:
“ipseccmd.exe、winipsec.dll、屏蔽危险IP.bat、危险IP列表.txt”

然后:
“危险IP列表.txt”里面的IP目前有以下几个:
61.164.47.226
222.186.9.53
122.224.11.5
61.164.49.204
222.186.9.53
61.164.49.204

“屏蔽危险IP.bat”内容我是这样写的,如下:
  1. @echo off
  2. for /f "delims= " %%a in (危险IP列表.txt) do ipseccmd -w REG -p "Rocky" -r "Web TCP/80" -f %%a+0:80:TCP -n BLOCK -x >nul
  3. ipseccmd  -w REG -p "Rocky" -x >nul
  4. cls
  5. @echo 危险IP屏蔽完成...
  6. ping 127.0.0.1 -n 5 >nul
复制代码
但是问题就出来了,IP安全策略里,并没有将“危险IP列表.txt”里面的所有IP添加成功,而只有TXT文档最后一行的IP“61.164.49.204”,只有它添加成功了。
请问高手们该怎么办啊?

[ 本帖最后由 Rocky 于 2010-9-30 23:13 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

谢谢楼上这位兄台,问题已经得到解决。
原来策略里的每条规则的名称不可以重复。
而我在代码 for /f "delims= " %%a in (危险IP列表.txt) do ipseccmd -w REG -p "Rocky" -r "Web TCP/80" -f %%a+0:80:TCP -n BLOCK -x >nul  红色处给定义了绝对名。
正确应该如下:for /f "delims= " %%a in (危险IP列表.txt) do ipseccmd -w REG -p "Rocky" -r "%%a" -f %%a+0:80:TCP -n BLOCK -x >nul
这样的话每条规则的名称就会以(危险IP列表.txt)里的IP地址为名了,就不会重复了。

TOP

返回列表