Board logo

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

作者: kjzz    时间: 2014-1-6 19:41     标题: 请教:以下获取系统信息的BAT批处理代码怎么理解?

  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%
复制代码

作者: DAIC    时间: 2014-1-7 08:41

哪个第放是你无法理解的?
作者: kjzz    时间: 2014-1-13 08:32

for /f "tokens=2 delims=:" %%M in ('ipconfig /all^|find /i "Physical Address"') do set Mac=%%M
echo.        本机 MAC地址 (硬件获取):       %Mac%
作者: kjzz    时间: 2014-1-13 08:36

这两行是不是用for循环获取的mac地址再和mac.ini中的地址相比较?
作者: kjzz    时间: 2014-1-13 08:37     标题: 这个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中的地址相比较?
作者: DAIC    时间: 2014-1-13 08:54

回复 3# kjzz


    这两行只是获取,没有做任何比较。
作者: cjiabing    时间: 2014-1-13 09:52

这么简单都不理解?
首先,你理解FOR吗?
其次,你理解find吗?
第三,你理解set吗?
最后,你理解ipconfig吗?

如果你能理解就可以全部理解了。
作者: kjzz    时间: 2014-1-13 10:03

我是刚学到,谢谢
作者: DAIC    时间: 2014-1-13 11:17

  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%
复制代码
还有问题吗?
作者: cjiabing    时间: 2014-1-13 11:21

Windows7的IPconfig和xp有些差别,要进行筛选
ipconfig /all|findstr /i "主机名 物理地址 地址"
作者: cjiabing    时间: 2014-1-13 11:21

Windows7的IPconfig和xp有些差别,要进行筛选
ipconfig /all|findstr /i "主机名 物理地址 地址"
作者: kjzz    时间: 2014-1-13 15:21

回复 9# DAIC

非常感谢!
作者: kjzz    时间: 2014-1-13 15:22

回复 11# cjiabing

非常感谢!
作者: kjzz    时间: 2014-1-14 08:09

还有一事不明:管道前“^”起什么作用?
作者: DAIC    时间: 2014-1-14 08:17

回复 14# kjzz


http://bbs.bathome.net/viewthread.php?tid=1290&page=2#pid6306
作者: kjzz    时间: 2014-1-14 09:18

回复 15# DAIC
我正在看,谢谢!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2