找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 63722|回复: 15

[系统相关] 请教:以下获取系统信息的BAT批处理代码怎么理解?

[复制链接]
发表于 2014-1-6 19:41:46 | 显示全部楼层 |阅读模式
  1. for /f "tokens=2 delims=:" %%M in ('ipconfig /all^|find /i "Physical Address"') do set Mac=%%M
  2. echo.        本机 MAC地址 (硬件获取):       %Mac%
  3. set PCMAC=%MAC:~1%
  4. echo.
  5. for /f "tokens=1" %%a in ('type MAC.ini^|find /i "%PCMac%"') do (set pcname=%%a)
  6. echo         本机计算机名 (动态获取):        %pcname%
  7. echo.
  8. for /f "tokens=2" %%b in ('type MAC.ini^|find /i "%PCMac%"') do (set myip=%%b)
  9. echo         本机 IP 地址 (动态获取):        %myip%
复制代码
发表于 2014-1-7 08:41:17 | 显示全部楼层
哪个第放是你无法理解的?
 楼主| 发表于 2014-1-13 08:32:37 | 显示全部楼层
for /f "tokens=2 delims=:" %%M in ('ipconfig /all^|find /i "Physical Address"') do set Mac=%%M
echo.        本机 MAC地址 (硬件获取):       %Mac%
 楼主| 发表于 2014-1-13 08:36:23 | 显示全部楼层
这两行是不是用for循环获取的mac地址再和mac.ini中的地址相比较?
 楼主| 发表于 2014-1-13 08:37:58 | 显示全部楼层

这个BAT批处理是不是用for循环获取的mac地址再和mac.ini中的地址相比较?

  1. for /f "tokens=2 delims=:" %%M in ('ipconfig /all^|find /i "Physical Address"') do set Mac=%%M
  2. echo.        本机 MAC地址 (硬件获取):       %Mac%
复制代码
这两行是不是用for循环获取的mac地址再和mac.ini中的地址相比较?
发表于 2014-1-13 08:54:34 | 显示全部楼层
回复 3# kjzz


    这两行只是获取,没有做任何比较。
发表于 2014-1-13 09:52:18 | 显示全部楼层
这么简单都不理解?
首先,你理解FOR吗?
其次,你理解find吗?
第三,你理解set吗?
最后,你理解ipconfig吗?

如果你能理解就可以全部理解了。
 楼主| 发表于 2014-1-13 10:03:55 | 显示全部楼层
我是刚学到,谢谢
发表于 2014-1-13 11:17:27 | 显示全部楼层
  1. REM 第一步:从 ipconfig /all 命令的结果中获取MAC地址
  2. for /f "tokens=2 delims=:" %%M in ('ipconfig /all^|find /i "Physical Address"') do set Mac=%%M
  3. echo.        本机 MAC地址 (硬件获取):       %Mac%
  4. set PCMAC=%MAC:~1%
  5. echo.

  6. REM 第二步:根据第一步获取的MAC地址,去文件 MAC.ini 里面查找机器名
  7. for /f "tokens=1" %%a in ('type MAC.ini^|find /i "%PCMac%"') do (set pcname=%%a)
  8. echo         本机计算机名 (动态获取):        %pcname%
  9. echo.

  10. REM 第三步:根据第一步获取的MAC地址,去文件 MAC.ini 里面查找IP地址
  11. for /f "tokens=2" %%b in ('type MAC.ini^|find /i "%PCMac%"') do (set myip=%%b)
  12. echo         本机 IP 地址 (动态获取):        %myip%
复制代码
还有问题吗?
发表于 2014-1-13 11:21:10 | 显示全部楼层
Windows7的IPconfig和xp有些差别,要进行筛选
ipconfig /all|findstr /i "主机名 物理地址 地址"
发表于 2014-1-13 11:21:40 | 显示全部楼层
Windows7的IPconfig和xp有些差别,要进行筛选
ipconfig /all|findstr /i "主机名 物理地址 地址"
 楼主| 发表于 2014-1-13 15:21:35 | 显示全部楼层
回复 9# DAIC

非常感谢!
 楼主| 发表于 2014-1-13 15:22:36 | 显示全部楼层
回复 11# cjiabing

非常感谢!
 楼主| 发表于 2014-1-14 08:09:49 | 显示全部楼层
还有一事不明:管道前“^”起什么作用?
发表于 2014-1-14 08:17:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 00:49 , Processed in 0.029187 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表