[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎么样通过获取MAC地址判断修改分机号码?

客套话不多说,直奔主题,在C:\Program Files\CallCenter有一个CallCenter.INI配置文件,第5行内容为ExtCall=80XX

80XX表示的是分机号码
该文件内容如下

[CallerID]
ServerIP=192.168.1.200
Port=3801
Listen=8000
ExtCall=8031
ServerPort=10089
IsSilentMode=0
IP=17909
IfVoip=1

[Window]
Top=0
Left=0
Width=1024
Height=738
[Caller]
Local=0731
LocalLen=8
LocalDB=0
ExtCall=801
POP=0
Upgrade=0
IP=17911




现在局域网内很多机器都装有该软件,每台电脑对就的分机号码不能相同,现在要重装系统,想通过一批处理来修改该分机号码,由于每台电脑所在位置对应的分机号码固定,因此想到了一种思路,重装系统后电脑的网卡MAC地址不变,可以通过获取MAC地址来将其修改成对应的分机号码,MAC地址与分机号码对应表我已经整理出来,我是个菜鸟,批处理文件该怎么样写还请高手指教。

MAC地址与分机号码对应表如下

6C-F0-49-C1-F7-808047
00-E0-4C-19-1A-AD8044
44-87-FC-56-44-9B8039
00-24-8C-65-90-33
8032
00-23-54-D3-EE-9A8033
00-24-8C-C4-79-158034
00-B0-C4-A1-F5-A08010
00-23-54-d3-ee-7e8036
00-11-43-10-DC-FF8004
00-23-54-D3-EE-8F8006
00-0F-EA-BB-45-DA8008
00-25-11-71-84-628002
00-23-54-D3-EE-938001
44-87-FC-5D-1C-DA8003
00-1F-C6-E4-8C-F68005
00-25-11-71-87-E88007
00-0F-EA-B7-CA-A58009
00-0f-ea-bc-61-da8045
00-23-54-D3-EE-958046
00-B0-C4-E6-53-708043
00-02-3F-3A-96-A18042
00-18-37-00-95-578011
00-B0-C0-04-5E-978018
00-23-54-D3-EE-908022
00-00-E9-20-13-A18021
00-22-15-B6-D0-128017
00-23-54-D3-F2-AF8019
00-B0-C0-00-50-FF8012
00-1F-C6-C3-10-078013
00-1E-8C-D9-8B-2E8015
00-e0-4c-02-3e-848016
00-24-1D-89-C5-848031
00-00-E9-20-0C-0A8027
00-24-1D-89-C5-A48026
00-EE-EE-00-96-258025
00-24-1D-89-C4-D28024
00-25-11-71-31-9E8023
00-0c-6e-1a-5a-bc8041
00-23-54-D3-EE-738040
00-1F-C6-A2-85-8A8029
00-0F-EA-C1-5D-AF8028
00-1F-C6-A2-86-DE8030


[ 本帖最后由 lx427 于 2011-2-9 23:25 编辑 ]

请注意CallCenter.INI的编码问题
  1. @echo off
  2. set r=%ProgramFiles%\CallCenter\CallCenter.INI
  3. type "%r%">temp.h||exit
  4. for /f "tokens=1* delims=: " %%a in ('getmac /fo list') do if "%%a"=="物理地址" set mac=%%b
  5. for /f "tokens=1*" %%a in ('more +10 "%~f0"') do if "%%a"=="%mac%" set id=%%b
  6. (for /f "tokens=1-3 delims==:" %%a in ('findstr /n .* temp.h') do if "%%c"=="" (echo;%%b) else (
  7.         if /i "%%b"=="ExtCall" (echo;%%b=%id%) else (echo;%%b=%%c)
  8. ))>"%r%"
  9. del temp.h
  10. exit
  11. 6C-F0-49-C1-F7-80 8047
  12. 00-E0-4C-19-1A-AD 8044
  13. 44-87-FC-56-44-9B 8039
  14. 00-24-8C-65-90-33 8032
  15. 00-23-54-D3-EE-9A 8033
  16. 00-24-8C-C4-79-15 8034
  17. 00-B0-C4-A1-F5-A0 8010
  18. 00-23-54-d3-ee-7e 8036
  19. 00-11-43-10-DC-FF 8004
  20. 00-23-54-D3-EE-8F 8006
  21. 00-0F-EA-BB-45-DA 8008
  22. 00-25-11-71-84-62 8002
  23. 00-23-54-D3-EE-93 8001
  24. 44-87-FC-5D-1C-DA 8003
  25. 00-1F-C6-E4-8C-F6 8005
  26. 00-25-11-71-87-E8 8007
  27. 00-0F-EA-B7-CA-A5 8009
  28. 00-0f-ea-bc-61-da 8045
  29. 00-23-54-D3-EE-95 8046
  30. 00-B0-C4-E6-53-70 8043
  31. 00-02-3F-3A-96-A1 8042
  32. 00-18-37-00-95-57 8011
  33. 00-B0-C0-04-5E-97 8018
  34. 00-23-54-D3-EE-90 8022
  35. 00-00-E9-20-13-A1 8021
  36. 00-22-15-B6-D0-12 8017
  37. 00-23-54-D3-F2-AF 8019
  38. 00-B0-C0-00-50-FF 8012
  39. 00-1F-C6-C3-10-07 8013
  40. 00-1E-8C-D9-8B-2E 8015
  41. 00-e0-4c-02-3e-84 8016
  42. 00-24-1D-89-C5-84 8031
  43. 00-00-E9-20-0C-0A 8027
  44. 00-24-1D-89-C5-A4 8026
  45. 00-EE-EE-00-96-25 8025
  46. 00-24-1D-89-C4-D2 8024
  47. 00-25-11-71-31-9E 8023
  48. 00-0c-6e-1a-5a-bc 8041
  49. 00-23-54-D3-EE-73 8040
  50. 00-1F-C6-A2-85-8A 8029
  51. 00-0F-EA-C1-5D-AF 8028
  52. 00-1F-C6-A2-86-DE 8030
复制代码

[ 本帖最后由 hanyeguxing 于 2011-2-10 07:17 编辑 ]
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 2楼 的帖子

有些不理解为什么是temp.h。而不是temp呢?
1

评分人数

    • lx427: 感谢给帖子标题标注[已解决]字样技术 + 1
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

temp开头,表明为一临时文件
加常规扩展名,是为了在测试时方便双击直接打开查看
不用.txt而用.h是因为经常被处理的文件是.txt
以上只是个人习惯而已
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

非常感谢,问题解决了

非常感谢,我的问题得到圆满解决了。

TOP

返回列表