中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 07:18
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理IP扫描器
可打印版本  7,741 / 42
第1楼 PPdos 发表于 2007-02-16 10:07
高级用户 发帖 268 积分 783
批处理IP扫描器
网络课设置时 老出现IP冲突 于是就写了一个小程序 运行在别人机器上查看

经修改之后可以扫描不同网段 感谢redtek大虾的多线程思路 现给出源代码:



加张截图:


IPfinder2.bat 去除 find 提高速度降低 内存占用 更改如下


[ Last edited by PPdos on 2007-2-23 at 12:35 AM ]

附件
IPFinder.rar (391 bytes)
IPFinder2.rar (381 bytes)
第2楼 PPdos 发表于 2007-02-16 10:50
高级用户 发帖 268 积分 783
仅扫描IP段的核心代码
第3楼 gne3 发表于 2007-02-17 01:05
高级用户 发帖 252 积分 526
up
第4楼 yc421206 发表于 2007-02-19 13:35
初级用户 发帖 21 积分 52
Originally posted by PPdos at 2007-2-16 10:07:
网络课设置时 老出现IP冲突 于是就写了一个小程序 运行在别人机器上查看

经修改之后可以扫描不同网段 感谢redtek大虾的多线程思路 现给出源代码 ...

dear sir:
請問"start /B %~s0 %ip% %%i"
這句是什麼意思呢?
這整句我都不曉得在幹什麼用的
煩請為我解答,謝謝
第5楼 yc421206 发表于 2007-02-20 02:08
初级用户 发帖 21 积分 52
Originally posted by yc421206 at 2007-2-19 13:35:

dear sir:
請問"start /B %~s0 %ip% %%i"
這句是什麼意思呢?
這整句我都不曉得在幹什麼用的
煩請為我解答,謝謝

小弟還是不明白此"%~s0",使用規格以及含意
如試著將它移除,程式即出錯,請問是為什麼呢??
第6楼 PPdos 发表于 2007-02-20 13:39
高级用户 发帖 268 积分 783
分析
这个程序很有意思 我想重新做下诠释,希望能让大家理解:

@echo off

if "%1"=="" goto PPdos

::注释:运行程序后 如果参数没有定义 则调用模块 PPdos

ping -n 1 -w 1 %1.%2 >nul&&echo.%1.%2 OK

::注释:用一个数据包最多一秒延时的方法ping 参数1.参数2(即ip),成功就显示ok

exit

:PPdos
set /p ip=Tapez IP (ex:192.168.1):
::注释:定义ip的前三位

for /l %%i in (1 1 255) do (
::注释:ip第四位用for循环出来

start /B %~s0 %ip% %%i
::注释:此句很难理解 意思是在原dos窗口内调用自身,并把%ip%作为第一个参数, %%i作为第二个参数。%~s0为文件本身的短文件名避免调用自身时出错
)


~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩充到


[ Last edited by PPdos on 2008-4-2 at 07:33 AM ]
第7楼 yc421206 发表于 2007-02-21 13:55
初级用户 发帖 21 积分 52
Originally posted by yc421206 at 2007-2-20 02:08:

小弟還是不明白此"%~s0",使用規格以及含意
如試著將它移除,程式即出錯,請問是為什麼呢??

小弟瞭解了
感謝兄您的指導
第8楼 Kinglion 发表于 2007-02-21 20:57
铂金会员 发帖 1,924 积分 5,798 来自 金獅電腦軟體工作室
写得不错,很实用!
第9楼 lzmyst 发表于 2007-02-21 23:52
新手上路 发帖 10 积分 19
学习了。
谢谢兄的共享。
第10楼 vkill 发表于 2007-02-23 00:14
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
不如直接 arp -a
第11楼 peterdocter 发表于 2007-03-01 01:35
中级用户 发帖 95 积分 379
这个我用cpu都占到快没有了!太占资源了吧?用了之后要终止都非常难,好像假死机一样!
第12楼 dato 发表于 2007-03-01 23:12
高级用户 发帖 377 积分 916
这段代码还是对机房来说还是非常实用的。

刚刚用arp -a显示的IP非常有限,ping这种方式又可能受到防火墙阻挡。
但通过LZ这段脚本批量ping过局域网再使用arp -a 方式就能比较准确的获得局域网中在线的IP

所以希望LZ结合一下arp 命令,
第13楼 PPdos 发表于 2007-03-04 05:19
高级用户 发帖 268 积分 783
回复
13楼的问题在内存不足或IP段内在线主机过多确会发生 所以要在运行此程序前关闭其他应用程序 (正常情况下几十秒钟即可完成扫描) 14楼建议的arp可以在扫描过后直接运行 arp -a 命令来完成更为灵活
第14楼 574855721 发表于 2007-03-05 12:47
初级用户 发帖 13 积分 25
内网用的吗?作用是?
第15楼 zfkj 发表于 2007-03-05 18:18
新手上路 发帖 2 积分 4
呵呵,不错啊。支持
1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023