标题: [文本处理] 批处理怎么样通过获取MAC地址判断修改分机号码? [打印本页]
作者: lx427 时间: 2011-2-9 23:23 标题: 批处理怎么样通过获取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-80 | 8047 |
00-E0-4C-19-1A-AD | 8044 |
44-87-FC-56-44-9B | 8039 |
00-24-8C-65-90-33
| 8032 |
00-23-54-D3-EE-9A | 8033 |
00-24-8C-C4-79-15 | 8034 |
00-B0-C4-A1-F5-A0 | 8010 |
00-23-54-d3-ee-7e | 8036 |
00-11-43-10-DC-FF | 8004 |
00-23-54-D3-EE-8F | 8006 |
00-0F-EA-BB-45-DA | 8008 |
00-25-11-71-84-62 | 8002 |
00-23-54-D3-EE-93 | 8001 |
44-87-FC-5D-1C-DA | 8003 |
00-1F-C6-E4-8C-F6 | 8005 |
00-25-11-71-87-E8 | 8007 |
00-0F-EA-B7-CA-A5 | 8009 |
00-0f-ea-bc-61-da | 8045 |
00-23-54-D3-EE-95 | 8046 |
00-B0-C4-E6-53-70 | 8043 |
00-02-3F-3A-96-A1 | 8042 |
00-18-37-00-95-57 | 8011 |
00-B0-C0-04-5E-97 | 8018 |
00-23-54-D3-EE-90 | 8022 |
00-00-E9-20-13-A1 | 8021 |
00-22-15-B6-D0-12 | 8017 |
00-23-54-D3-F2-AF | 8019 |
00-B0-C0-00-50-FF | 8012 |
00-1F-C6-C3-10-07 | 8013 |
00-1E-8C-D9-8B-2E | 8015 |
00-e0-4c-02-3e-84 | 8016 |
00-24-1D-89-C5-84 | 8031 |
00-00-E9-20-0C-0A | 8027 |
00-24-1D-89-C5-A4 | 8026 |
00-EE-EE-00-96-25 | 8025 |
00-24-1D-89-C4-D2 | 8024 |
00-25-11-71-31-9E | 8023 |
00-0c-6e-1a-5a-bc | 8041 |
00-23-54-D3-EE-73 | 8040 |
00-1F-C6-A2-85-8A | 8029 |
00-0F-EA-C1-5D-AF | 8028 |
00-1F-C6-A2-86-DE | 8030 |
[ 本帖最后由 lx427 于 2011-2-9 23:25 编辑 ]
作者: hanyeguxing 时间: 2011-2-10 07:13
请注意CallCenter.INI的编码问题- @echo off
- set r=%ProgramFiles%\CallCenter\CallCenter.INI
- type "%r%">temp.h||exit
- for /f "tokens=1* delims=: " %%a in ('getmac /fo list') do if "%%a"=="物理地址" set mac=%%b
- for /f "tokens=1*" %%a in ('more +10 "%~f0"') do if "%%a"=="%mac%" set id=%%b
- (for /f "tokens=1-3 delims==:" %%a in ('findstr /n .* temp.h') do if "%%c"=="" (echo;%%b) else (
- if /i "%%b"=="ExtCall" (echo;%%b=%id%) else (echo;%%b=%%c)
- ))>"%r%"
- del temp.h
- exit
- 6C-F0-49-C1-F7-80 8047
- 00-E0-4C-19-1A-AD 8044
- 44-87-FC-56-44-9B 8039
- 00-24-8C-65-90-33 8032
- 00-23-54-D3-EE-9A 8033
- 00-24-8C-C4-79-15 8034
- 00-B0-C4-A1-F5-A0 8010
- 00-23-54-d3-ee-7e 8036
- 00-11-43-10-DC-FF 8004
- 00-23-54-D3-EE-8F 8006
- 00-0F-EA-BB-45-DA 8008
- 00-25-11-71-84-62 8002
- 00-23-54-D3-EE-93 8001
- 44-87-FC-5D-1C-DA 8003
- 00-1F-C6-E4-8C-F6 8005
- 00-25-11-71-87-E8 8007
- 00-0F-EA-B7-CA-A5 8009
- 00-0f-ea-bc-61-da 8045
- 00-23-54-D3-EE-95 8046
- 00-B0-C4-E6-53-70 8043
- 00-02-3F-3A-96-A1 8042
- 00-18-37-00-95-57 8011
- 00-B0-C0-04-5E-97 8018
- 00-23-54-D3-EE-90 8022
- 00-00-E9-20-13-A1 8021
- 00-22-15-B6-D0-12 8017
- 00-23-54-D3-F2-AF 8019
- 00-B0-C0-00-50-FF 8012
- 00-1F-C6-C3-10-07 8013
- 00-1E-8C-D9-8B-2E 8015
- 00-e0-4c-02-3e-84 8016
- 00-24-1D-89-C5-84 8031
- 00-00-E9-20-0C-0A 8027
- 00-24-1D-89-C5-A4 8026
- 00-EE-EE-00-96-25 8025
- 00-24-1D-89-C4-D2 8024
- 00-25-11-71-31-9E 8023
- 00-0c-6e-1a-5a-bc 8041
- 00-23-54-D3-EE-73 8040
- 00-1F-C6-A2-85-8A 8029
- 00-0F-EA-C1-5D-AF 8028
- 00-1F-C6-A2-86-DE 8030
复制代码
[ 本帖最后由 hanyeguxing 于 2011-2-10 07:17 编辑 ]
作者: wc726842270 时间: 2011-2-10 13:14 标题: 回复 2楼 的帖子
有些不理解为什么是temp.h。而不是temp呢?
作者: hanyeguxing 时间: 2011-2-10 14:27
temp开头,表明为一临时文件
加常规扩展名,是为了在测试时方便双击直接打开查看
不用.txt而用.h是因为经常被处理的文件是.txt
以上只是个人习惯而已
作者: lx427 时间: 2011-2-10 15:38 标题: 非常感谢,问题解决了
非常感谢,我的问题得到圆满解决了。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |