|
gdyabc
初级用户
 
积分 41
发帖 37
注册 2009-1-9 来自 四川南充
状态 离线
|
『楼 主』:
[求助]用批处理来判断局域网机器开机的数量
使用 LLM 解释/回答一下
现在小弟有一个问题请求帮助,用批处理来判断局域网机器开机的数量,把数量显示出来,并取得所开机机器的名称与ip,存为文本文件按如下排列
A211 192.168.0.1
A022 192.168.0.2
………
细想了一下用批处理可以做到但是我不知道该从何处入手。
望各位帮帮我把代码贴出来。
|

echo @echo off>TEST.bat |
|
2009-2-18 07:10 |
|
|
dato
高级用户
   
积分 916
发帖 377
注册 2004-3-8
状态 离线
|
|
2009-2-18 13:28 |
|
|
gdyabc
初级用户
 
积分 41
发帖 37
注册 2009-1-9 来自 四川南充
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
感谢二楼,但是我的意思是不用其他工具,用批处理来达到我要求。
|

echo @echo off>TEST.bat |
|
2009-2-18 14:42 |
|
|
gdyabc
初级用户
 
积分 41
发帖 37
注册 2009-1-9 来自 四川南充
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
@for /L %%A in (1,1,254) do ping -a -n 1 -l 16 -w 100 192.168.0.%%A |find "Reply">>testa.txt
在网络畅通的情况下用以上代码简单判断那些机器开机,但是若要完整的解决我的问题就不知道该怎样写了。
|

echo @echo off>TEST.bat |
|
2009-2-18 20:19 |
|
|
jy02116916
初级用户
 
积分 68
发帖 37
注册 2008-8-15
状态 离线
|
|
2009-2-18 20:43 |
|
|
jasonwang
初级用户
 
积分 122
发帖 54
注册 2006-11-3
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
我不会写代码,提供一个思路
1. PING全网段地址
2. 查看ARP表
原因: 如果不看ARP表,靠PING是不行的,如果有防火墙,PING就会失效,但ARP会有回包。
|
|
2009-2-18 22:32 |
|
|
gdyabc
初级用户
 
积分 41
发帖 37
注册 2009-1-9 来自 四川南充
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
谢谢六楼的思路,但是我也不会写代码,一起等吧。肯定有人能做到。
|

echo @echo off>TEST.bat |
|
2009-2-19 00:54 |
|
|
scriptor
银牌会员
    
积分 1187
发帖 555
注册 2006-12-21
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
Originally posted by gdyabc at 2009-2-19 00:54:
谢谢六楼的思路,但是我也不会写代码,一起等吧。肯定有人能做到。
for /f %%a in ('arp -a^|findstr ""^|find /v ":"') do @echo %%a
Test Successfully!
|
|
2009-2-19 01:09 |
|
|
scriptor
银牌会员
    
积分 1187
发帖 555
注册 2006-12-21
状态 离线
|
|
2009-2-19 01:14 |
|
|
DJ131452DJ
初级用户
 
积分 50
发帖 44
注册 2008-12-7
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
Originally posted by jy02116916 at 2009-2-18 20:43:
想问一下二楼的同志 有装软防火墙的机器也可以扫描到吗?
不错 受益了
|
|
2009-2-19 05:25 |
|
|
everest79
金牌会员
      一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
Dim Xml,Wsh
Set Xml=CreateObject("Msxml2.XMLHTTP")
Set Wsh=CreateObject("WScript.Shell")
For i= 0 To 256
Xml.Open "Get","http://192.168.0."&i,True
Xml.Send
WScript.Sleep 30
If (i mod 64)=0 Then
Wsh.Run "CMD /c ""ARP -A|findstr /v /i ""inter"""" >>ss.txt",0,True
End If
Next
For /F "tokens=1,2" %%a in (ss.txt) Do Set %%a=%%b
Set 192|find /v "00-00-00"
这样比PING快一点
|

49206C6F766520796F752067757973 54656C3A3133383238343036373837 |
|
2009-2-19 05:48 |
|
|
DwD
新手上路

积分 12
发帖 15
注册 2009-2-17
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
Originally posted by scriptor at 2009-2-19 01:09:
for /f %%a in ('arp -a^|findstr ""^|find /v ":"') do @echo %%a
Test Successfully!
想请教下一个地方
就是 ^| 这个地方
我知道^是去掉特殊符号的功能,把它当作一个字符来用。
这里我看不太懂哦,我把^去掉,却是报错。
有谁了解的请都赐教下。
|
|
2009-2-19 11:19 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
|
2009-2-19 12:10 |
|
|
tufeiabcd
初级用户
 
积分 46
发帖 25
注册 2008-11-5
状态 离线
|
|
2009-2-19 14:14 |
|
|
gdyabc
初级用户
 
积分 41
发帖 37
注册 2009-1-9 来自 四川南充
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
等了两天,友友们帮帮楼主完成问题,用批处理,或vb都可以。急。
|

echo @echo off>TEST.bat |
|
2009-2-19 20:27 |
|