中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 01:42
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理扫描MAC的保存格式?[已解决] 查看 828 回复 8
楼 主 [求助]批处理扫描MAC的保存格式?[已解决] 发表于 2008-04-14 15:06 ·  中国 广东 广州 增城区 电信
初级用户
积分 74
发帖 34
注册 2006-11-21 03:33
19年会员
UID 71196
性别 男
状态 离线
echo off
title 扫描即将开始   制作
color a
cls
echo.
echo ------------------------------------------------------------
echo QQ:欢迎交流
echo.
echo   本批处理是扫描内网IP、MAC地址和计算机名的,并自动保存文件TXT文件
echo.     
echo    再利用“自动改IP.bat”实现自动改IP、计算机名、网络号、DNS、网关等
echo.    
echo 并自动安装冰点,将冰点改名为DF.exe,并保存在“自动改IP.bat”同目录下
echo.    
echo 为了扫描到的结果正确,请按照正确格式输入
echo.
echo ---------------------PS:制作不容易,请保留版权----------------------
set /p gateway=请输入内网网关:
set /p dns1=请输入你的首选DNS:
set /p dns2=请输入你的备用DNS:
echo gateway %gateway% >info.txt
echo DNS1 %dns1% >>info.txt
echo DNS2 %dns2% >>info.txt
echo MAC  IP 计算机名 >>info.txt
set rc=0
set /p ipq=请输入内网IP的前3位(如192.168.0):
set /p iph=请输入你要扫描的IP起始段(IP的最后一位):
set /p con1=请输入你要扫描的数量:
set /a con= %iph%+%con1%
:scan
set ip=%ipq%.%iph%
ping -n 1 -w 1 %ip% >nul
title 正在检测 %ip%  制作
if %errorlevel% GEQ 1 goto dz
for /f "tokens=1" %%i in ('nbtstat -a %ip% ^| find /i "UNIQUE" ^| find /i "00"') do set pcname=%%i
for /f "tokens=4" %%i in ('nbtstat -a %ip% ^| find /i "MAC Address"') do set mac=%%i
echo %mac% %ip% %pcname% >>info.txt
set /a iph=%iph%+1
set /a rc=%rc%+1
if %iph% GTR %con% goto end
goto scan
:dz
echo %ip%不在线,无法扫描!
set /a iph=%iph%+1
if %iph% GTR %con% goto end
goto scan
:end
title 扫描完毕   制作
echo    扫描完毕!!
@echo 共扫描%con%台PC。其中%rc%台PC在线!!
pause


这个扫描出来保存结果这样的:
00-0E-0C-C2-A9-9C 192.168.0.8 SERVER

我是在网上找到的,但用这个扫描出来保存的结果不太理想,
加上我对批处理不熟悉,所以想大家帮我看下怎么改才行,
我想扫描出来保存成下面这样的:
00-0E-0C-C2-A9-9C=192.168.0.8|SERVER

[ Last edited by lotsunhim on 2008-4-14 at 05:23 PM ]
2 发表于 2008-04-14 15:09 ·  中国 北京 华为云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
改这里

echo %mac%=%ip%^|%pcname% >>info.txt
3 发表于 2008-04-14 15:12 ·  中国 广东 广州 增城区 电信
初级用户
积分 74
发帖 34
注册 2006-11-21 03:33
19年会员
UID 71196
性别 男
状态 离线
谢谢了,可以啦。
4 发表于 2008-04-14 15:15 ·  中国 广东 广州 增城区 电信
初级用户
积分 74
发帖 34
注册 2006-11-21 03:33
19年会员
UID 71196
性别 男
状态 离线
但是还会每行MAC后边都会空一格出来的。
00-0E-0C-C2-A9-9C =192.168.0.8|SERVER
5 发表于 2008-04-14 15:21 ·  中国 北京 华为云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
echo %mac:~0,-1%=%ip%^|%pcname% >>info.txt
6 发表于 2008-04-14 15:22 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
echo %mac:~,-1%=%ip%^|%pcname% >>info.txt

[ Last edited by zw19750516 on 2008-4-14 at 03:23 PM ]
批处理之家新域名:www.bathome.net
7 发表于 2008-04-14 15:22 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
晕,abcd真快啊
批处理之家新域名:www.bathome.net
8 发表于 2008-04-14 15:31 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
Originally posted by lotsunhim at 2008-4-14 15:15:
但是还会每行MAC后边都会空一格出来的。
00-0E-0C-C2-A9-9C =192.168.0.8|SERVER

这句后面有空格,你查看一下 set mac=%%i
简单!简单!再简单!
9 发表于 2008-04-14 15:36 ·  中国 广东 广州 增城区 电信
初级用户
积分 74
发帖 34
注册 2006-11-21 03:33
19年会员
UID 71196
性别 男
状态 离线
嗯,谢谢各位的帮忙,行了!
论坛跳转: