局域网自动识别机器名和MAC并生成文件的命令

更新版本:添加了MAC 地址 确定了设备唯一性

V1.1 局域网自动识别机器名和MAC并生成文件的批处理命令

bash 复制代码
@echo off
setlocal enabledelayedexpansion

REM 设置输出文件
set outputFile=network_info.txt

REM 清空或创建输出文件
echo Scanning network from 192.168.20.1 to 192.168.20.254... > %outputFile%
echo ========================================== >> %outputFile%

REM 循环遍历IP地址范围
for /L %%i in (1,1,254) do (
    set ip=192.168.20.%%i
    echo Checking IP: !ip!
    
    REM 使用nbtstat获取机器名和MAC地址
    nbtstat -A !ip! > temp.txt
    
    REM 从temp.txt中提取机器名和MAC地址
    set machineName=
    set macAddress=
    
    for /f "tokens=2 delims= " %%a in ('findstr /i "UNIQUE" temp.txt') do (
        set machineName=%%a
    )
    
    for /f "tokens=1 delims= " %%a in ('findstr /i "MAC Address" temp.txt') do (
        set macAddress=%%a
    )
    
    REM 如果找到机器名和MAC地址,则写入输出文件
    if not "!machineName!"=="" (
        echo IP: !ip! >> %outputFile%
        echo Machine Name: !machineName! >> %outputFile%
        echo MAC Address: !macAddress! >> %outputFile%
        echo -------------------------- >> %outputFile%
    )
    
    REM 删除临时文件
    del temp.txt
)

echo Scan completed. Results saved to %outputFile%
pause

V1.0 局域网自动识别机器名并生成文件的批处理命令

复制代码
@echo off
setlocal enabledelayedexpansion

REM 定义输出文件
set "outputFile=machines.txt"

REM 清空或创建输出文件
echo Scanning network from 192.168.20.1 to 192.168.20.254 > "%outputFile%"

REM 循环遍历IP地址
for /L %%i in (1,1,254) do (
    set "ip=192.168.20.%%i"
    echo Checking !ip!...
    
    REM 使用nbtstat命令获取机器名
    nbtstat -A !ip! >nul 2>&1 && (
        for /f "tokens=2 delims= " %%a in ('nbtstat -A !ip! ^| find "UNIQUE"') do (
            echo !ip! - %%a >> "%outputFile%"
        )
    ) || (
        echo !ip! - No response >> "%outputFile%"
    )
)

echo Scan complete. Results saved to %outputFile%.
相关推荐
草莓熊Lotso12 小时前
红黑树从入门到进阶:4 条规则如何筑牢 O (logN) 效率根基?
服务器·开发语言·c++·人工智能·经验分享·笔记·后端
0wioiw012 小时前
跨网络互联技术(Nginx反向代理)
服务器·网络·nginx
报错小能手12 小时前
计算机网络自顶向下方法55——无线网移动网 移动性管理
网络·计算机网络
带鱼吃猫12 小时前
Linux系统:策略模式实现自定义日志功能
linux·c++
minji...12 小时前
Linux 进程概念 (三) (进程状态,僵尸进程,孤儿进程,进程优先级)
linux·运维·服务器
是小胡嘛18 小时前
C++之Any类的模拟实现
linux·开发语言·c++
口袋物联18 小时前
设计模式之工厂模式在 C 语言中的应用(含 Linux 内核实例)
linux·c语言·设计模式·简单工厂模式
qq_4798754319 小时前
X-Macros(1)
linux·服务器·windows
笨笨聊运维20 小时前
CentOS官方不维护版本,配置python升级方法,无损版
linux·python·centos
jun_bai21 小时前
python写的文件备份网盘程序
运维·服务器·网络