我创建了一个批处理文件,用于检查ip地址是否在线(在同一网络上)。我使用ping命令。该程序运行良好,但不幸的是,他们的设备的ip地址改变了很多,所以我必须重新查找IP地址,并重新启动程序。我正在寻找一个容易的IP地址的替代品,因为这不再有效。我还需要知道检测它是否在线的方法,假设我不能继续使用带有errorlevel的ping或带有errorlevel的tracert。我只需要确保地址不会改变。
编辑:我想我将使用mac地址,因为它不会改变,只是,我需要一种方法来检测mac地址是否在线,而不是使用arp -a命令,因为它显示了mac地址的列表,但不允许您单独选择一个。我希望这能让你有所收获。
发布于 2013-11-19 11:20:16
在视窗系统中,你可以运行'arp -a‘来查看所有连接到你电脑上的设备。
此命令将列出每个设备的MAC和IP地址,因此您可以使用此输出在此列表中查找设备的更新IP地址。
在.bat脚本中,您可以解析出变量
参考: ARP:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/arp.mspx?mfr=true
解析.bat脚本中的文本:Parsing string in batch file
发布于 2013-11-19 11:09:28
替换IP的一个好主意是使用一旦已知的IP来查找mac地址,并存储该IP以用于进一步的ping。如果ip因重新分配而不存在,则使用不会更改的MAC进行查找。
在linux中,
#Get the from local arp table
ipaddr=$(arp | grep 52:45:32:3E:B3:C9 | awk ' { print $1 } ')可以将此代码切换到您的现有代码,定期检查可用性。参考:How to ping MAC adrress in linux
https://stackoverflow.com/questions/20062193
复制相似问题