中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求教.连接索引txt文件资料库的BAT怎样写?已解决
作者:
标题: 求教.连接索引txt文件资料库的BAT怎样写?已解决 上一主题 | 下一主题
wgmlzj
初级用户





积分 97
发帖 40
注册 2007-11-26
状态 离线
『楼 主』:  求教.连接索引txt文件资料库的BAT怎样写?已解决

用DOS命令:

netstat -an 会得到对方的IP如下:

TCP    192.168.1.200:1354     124.238.252.227:80     ESTABLISHED     
TCP    192.168.1.200:1408     58.215.87.83:80        ESTABLISHED     
TCP    192.168.1.200:1410     125.67.64.241        ESTABLISHED

现已经有一个.txt文本IP数据库如下:(由于很多只能在这列一些)

125.67.64.167   125.67.64.170   四川省遂宁市 电信
125.67.64.171   125.67.64.171   四川省遂宁市 金帝网吧(仁里镇)
125.67.64.172   125.67.64.188   四川省遂宁市 电信
125.67.64.189   125.67.64.189   四川省遂宁市 中期通网吧
125.67.64.190   125.67.64.190   四川省遂宁市 金榴莲网吧(育才东路71号)
125.67.64.191   125.67.64.240   四川省遂宁市 电信
125.67.64.241   125.67.64.241   四川省遂宁市 萤火虫网吧(天上街商业步行街二楼)
125.67.64.242   125.67.65.0     四川省遂宁市 电信
125.67.65.1     125.67.65.2     四川省遂宁市 玉竹网吧
125.67.65.3     125.67.65.6     四川省遂宁市 电信
125.67.65.7     125.67.65.7     四川省遂宁市 新感觉网吧
125.67.65.8     125.67.65.27    四川省遂宁市 电信
125.67.65.28    125.67.65.28    四川省遂宁市 飘一代网吧
125.67.65.29    125.67.65.41    四川省遂宁市 电信
125.67.65.42    125.67.65.42    四川省遂宁市 施普林网吧







格式是以上这样的,不能该变.现请教:
如何在运行netstat -an命令时马上就能得到对方的IP及所属地?
如125.67.65.42    四川省遂宁市 施普林网吧

谢谢!
在线等......

[ Last edited by wgmlzj on 2008-9-26 at 22:12 ]

2008-9-26 20:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 2 楼』:  

如何在运行netstat -an命令时马上就能得到对方的IP及所属地?
= ===
运行netstat -an得到你想要的那样的结果是不可能的事..
当然有变更的方式,你可以写个BAT来获取,批处理本身也无法做到,需要VBS协助才能够做到.恩..

2008-9-26 21:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wgmlzj
初级用户





积分 97
发帖 40
注册 2007-11-26
状态 离线
『第 3 楼』:  

谢谢2楼.VBS我不会,你可以变通一下用BAT来获取?反正能得到结果就行.

再辛苦你一次可以吗?(甚至随便你怎么弄都可以,能得出结果就行)

2008-9-26 21:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wgmlzj
初级用户





积分 97
发帖 40
注册 2007-11-26
状态 离线
『第 4 楼』:  

用"记录本"写的一段保存文件名为.VBS,用于回现输入的字符,这样的我能理解.(我的问题能用记事本写吗?)
Dim name,msg
msg="请输入你的名字:"
name=Inputbox(msg,"名称")
Msgbox(name)

2008-9-26 21:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  


@echo off
setlocal enabledelayedexpansion
set ipFile=C:\test\ip.txt
for /f "tokens=4 delims=: " %%a in ('netstat -an^|findstr /i "ESTABLISHED"') do (
  for /f "tokens=1-4 delims=." %%h in ("%%a") do (
    set ipHigh=%%h%%i
    set ipLow=%%j%%k
  )
  for /f "usebackq tokens=1-10 delims=. " %%h in ("%ipFile%") do (
    if !ipHigh! equ %%h%%i (
      if !ipLow! geq %%j%%k (
        if !ipLow! leq %%n%%o (
          echo %%a %%p %%q
        )
      )
    )
  )
)
pause




2008-9-26 21:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wgmlzj
初级用户





积分 97
发帖 40
注册 2007-11-26
状态 离线
『第 6 楼』:  

谢谢5楼HAT牛人版主,OK了!

2008-9-26 22:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 7 楼』:  

@echo off
setlocal enabledelayedexpansion
for /f "skip=4 tokens=2,3" %%i in ('netstat -an') do (
set "str=%%j"
if not "!str:~0,7!"=="0.0.0.0" (
if not "!str:~0,9!"=="127.0.0.1" (
if not "!str:~0,3!"=="*:*" echo.  %%i    !str!>>test.txt
)
))

2008-9-26 22:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 8 楼』:  

当然如果要获取对应的IP省份信息的话呢?
那么你可以通过VBS来通过XMLHTTP对象获取响应IP的对应地址然后保存..
整个做起来比较复杂..

2008-9-26 22:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wgmlzj
初级用户





积分 97
发帖 40
注册 2007-11-26
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by hackate at 2008-9-26 10:26 PM:
@echo off
setlocal enabledelayedexpansion
for /f "skip=4 tokens=2,3" %%i in ('netstat -an') do (
set "str=%%j"
if not "!str:~0,7!"=="0.0.0.0" (
if not & ...

学习了.辛苦您了.

不过这个BAT运行后没看到结果是什么.也没看到有建立了TXT文件,是这样吗?

2008-9-29 14:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: