You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取局域网所有连接IP地址单独保存到文本文件供msg命令使用

方案1:CMD 原生实现

直接在CMD中执行以下单行命令,即可提取IP并写入allip.txt:

for /f "tokens=1" %i in ('arp -a ^| findstr /r /c:"^ *[0-9]"') do @echo %i >> allip.txt

如果要写进.bat批处理脚本使用,需要把变量的%i改成%%i:

for /f "tokens=1" %%i in ('arp -a ^| findstr /r /c:"^ *[0-9]"') do @echo %%i >> allip.txt

参数说明:

  • findstr部分用正则匹配仅保留开头带数字的行,自动过滤掉接口信息、表头这些无关内容
  • tokens=1指定取每行的第一个字段,也就是Internet Address列的IP地址

方案2:PowerShell 实现(更稳定,输出格式无冗余)

Windows 自带的PowerShell可以直接读取ARP表的结构化数据,不需要手动解析文本:

# 直接提取所有IP写入allip.txt
Get-NetNeighbor | Select-Object -ExpandProperty IPAddress | Out-File -FilePath allip.txt -Encoding UTF8

如果需要过滤掉广播地址、本机IP、网关这类不需要发告警的地址,可以加过滤规则:

# 示例:排除结尾为255的广播地址、本机IP192.168.1.140
Get-NetNeighbor | Where-Object {
    $_.IPAddress -notlike "*255" -and 
    $_.IPAddress -ne "192.168.1.140"
} | Select-Object -ExpandProperty IPAddress | Out-File -FilePath allip.txt -Encoding UTF8

补充注意事项

  • 提取完IP后可以先打开allip.txt核对内容,避免多余地址
  • 使用msg命令发告警前需要确认目标终端开启了Messenger服务,且防火墙放行了相关端口,否则会发送失败

内容的提问来源于stack exchange,提问作者ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:39:03