标题: [网络连接] 请问如何判断局域网内某一台机子能否ping通 [打印本页]
作者: chineselzh 时间: 2008-9-4 17:37 标题: 请问如何判断局域网内某一台机子能否ping通
比如我想查找局域网内一台名叫s13的机子,如果发现这台机子存在或者说是打开着的,那么就从上面copy一个名叫a.txt的文件,如果机子关机或没打开,那么就exit,不知道能不能实现?谢谢!
正如三楼所说:我是想知道某一台机子是否能ping通。。。
[ 本帖最后由 chineselzh 于 2008-9-5 22:04 编辑 ]
作者: Batcher 时间: 2008-9-4 20:51
撇开批处理不谈,你准备如何手工判断“这台机子存在或者说是打开着的”?
作者: youxi01 时间: 2008-9-5 09:18
他的意思可能是 S13 的机子开机了(可以ping通),则复制...
作者: AppleWolf 时间: 2008-9-6 00:34
我觉得给楼主评分错误,虽然楼主并未说明是用CMD方式,但是实际上谁都看得懂,楼主的意思是,如何在批处理中判断局域网中某台计算机是否处于开机方式,并根据其方式做出相应的处理。
事实上,我也在试验,在寻找这个问题的解决方法,因为实际应用中特别是批处理自动备份系统中这点很重要。
但是头大的是,现在的XP之类的系统自带的防火墙怕是PING不通了,用PING的方式是不合理的。
方法正在寻找中。。。。。。。。。
作者: Batcher 时间: 2008-9-6 01:00
同意楼上观点:机子是否开着,通过PING的方式是无法准确判断的。
作者: AppleWolf 时间: 2008-9-6 02:59
- strMachines = "atl-dc-01;atl-win2k-01;atl-nt4-01;atl-dc-02"
- aMachines = split(strMachines, ";")
- For Each machine in aMachines
- Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
- ExecQuery("select * from Win32_PingStatus where address = '"_
- & machine & "'")
- For Each objStatus in objPing
- If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
- WScript.Echo("machine " & machine & " is not reachable")
- End If
- Next
- Next
复制代码
这是微软的代码
作者: shqf 时间: 2008-9-6 08:58
ping通后,还是要用net use映射,再copy,所以我直接是用net use 作判断的,映射不成功的话,说明机没开。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |