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

[网络连接] 请问如何判断局域网内某一台机子能否ping通

比如我想查找局域网内一台名叫s13的机子,如果发现这台机子存在或者说是打开着的,那么就从上面copy一个名叫a.txt的文件,如果机子关机或没打开,那么就exit,不知道能不能实现?谢谢!


正如三楼所说:我是想知道某一台机子是否能ping通。。。

[ 本帖最后由 chineselzh 于 2008-9-5 22:04 编辑 ]
1

评分人数

    • BatHome: 标题模糊,分类错误PB -2

撇开批处理不谈,你准备如何手工判断“这台机子存在或者说是打开着的”?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

他的意思可能是 S13 的机子开机了(可以ping通),则复制...

TOP

我觉得给楼主评分错误,虽然楼主并未说明是用CMD方式,但是实际上谁都看得懂,楼主的意思是,如何在批处理中判断局域网中某台计算机是否处于开机方式,并根据其方式做出相应的处理。
事实上,我也在试验,在寻找这个问题的解决方法,因为实际应用中特别是批处理自动备份系统中这点很重要。
但是头大的是,现在的XP之类的系统自带的防火墙怕是PING不通了,用PING的方式是不合理的。
方法正在寻找中。。。。。。。。。

TOP

同意楼上观点:机子是否开着,通过PING的方式是无法准确判断的。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. strMachines = "atl-dc-01;atl-win2k-01;atl-nt4-01;atl-dc-02"
  2. aMachines = split(strMachines, ";")
  3. For Each machine in aMachines
  4.     Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
  5.         ExecQuery("select * from Win32_PingStatus where address = '"_
  6.             & machine & "'")
  7.     For Each objStatus in objPing
  8.         If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
  9.             WScript.Echo("machine " & machine & " is not reachable")   
  10.         End If
  11.     Next
  12. Next
复制代码
这是微软的代码

TOP

ping通后,还是要用net use映射,再copy,所以我直接是用net use 作判断的,映射不成功的话,说明机没开。

TOP

返回列表