有没有办法在执行“arp -a”命令时“跟踪”所有显示的地址?
Posted
技术标签:
【中文标题】有没有办法在执行“arp -a”命令时“跟踪”所有显示的地址?【英文标题】:Is there a way to 'tracert' all the addresses shown when executing the 'arp -a' command? 【发布时间】:2022-01-09 16:10:03 【问题描述】:基本上,我正在尝试制作一个能够显示连接到我的网络的每个设备的名称的批处理脚本。由于net view /all
似乎对我不起作用,我正在尝试另一种方法。
有没有办法制作一个脚本,在arp -a
命令列出的所有地址上自动执行tracert
命令?
【问题讨论】:
是的,它是单排的,但是您到底尝试了什么?代码请求与 SO 无关。 @Gerhard 我尝试使用for
命令让它尝试“查找”arp -a
列出的地址。然后我尝试给他们一个变量,然后tracert
会尝试回溯,显示连接到我的网络的设备的名称。不幸的是,我无法让它工作。
你能edit你的问题举个例子吗?
【参考方案1】:
我遇到了类似的问题,为了自动化 tracert
命令,您需要一个可用于以后查询的列表数组。
arp -a > c:\temp\arp.txt
如果您将其放入批处理脚本并且不确定是否存在必要的目录:
arp -a > c:\temp\arp.txt || md c:\temp && arp -a > c:\temp\arp.txt
这将尝试将输出保存到 .txt
文件,但如果 temp
文件夹不存在,它将生成并重新运行命令,但是它很庞大。
OR 作为IF
语句
if exist c:\temp arp -a > c:\temp\arp.txt
仅当目标保存目录存在时才会运行该命令。
将两个预先列出的命令绑定在一起会更加可靠,但如果环境变量发生变化,您将不得不处理errorlevels
:
if exist c:\temp (arp -a > c:\temp\arp.txt) else (md c:\temp && arp -a > c:\temp\arp.txt)
要在nslookup
或tracert
命令中使用arp.txt
文件,需要使用FOR
命令,您将逐行遍历数组以检索IP Address
,然后运行另一个命令。但是,我也被困在此类任务的语法上。
总之,问题解决了一半,希望其他路人可以执行FOR
命令!
【讨论】:
以上是关于有没有办法在执行“arp -a”命令时“跟踪”所有显示的地址?的主要内容,如果未能解决你的问题,请参考以下文章
在win7下为何绑定不了arp 为啥我在>cmd下执行arp -s命令时提示arp项加载失败:请求操作需要提升。