中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 05:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助个批量修改文本内容的批处理文件 查看 921 回复 6
楼 主 求助个批量修改文本内容的批处理文件 发表于 2007-12-20 14:24 ·  中国 上海 漕河泾科技网IDC机房
新手上路
积分 14
发帖 6
注册 2007-10-12 13:19
18年会员
UID 99525
性别 男
状态 离线
一个文本文件里面有多个“XX-XX-XX-XX-XX-XX"格式的mac地址,例如
AA-BB-CC-DD-EE-AA
AA-BB-CC-DD-EE-BB
AA-BB-CC-DD-EE-CC
AA-BB-CC-DD-EE-DD
AA-BB-CC-DD-EE-EE
AA-BB-CC-DD-EE-FF

现在需要修改成"XXXX.XXXX.XXXX"的格式,

AABB.CCDD.EEAA
AABB.CCDD.EEBB
AABB.CCDD.EECC
AABB.CCDD.EEDD
AABB.CCDD.EEEE
AABB.CCDD.EEFF

因为地址大概有800个,一个个改效率太低了,想写个批处理文件修改。
小弟不才想了半天也不知道应该怎么写,请高手给个思路或者帮忙写一个。谢谢了

[ Last edited by zjjsjw on 2007-12-20 at 04:01 PM ]
2 发表于 2007-12-20 15:52 ·  中国 湖南 长沙 电信
初级用户
积分 36
发帖 16
注册 2007-11-27 14:04
18年会员
UID 103938
性别 男
状态 离线
for / f "tokens=1,2,3,4,5,6 delims=-" %%a in (xx.txt) do echo %%a%%b.%%c%%d.%%e%%f >mac.txt
水平有限。。。
3 发表于 2007-12-20 15:56 ·  中国 湖南 长沙 电信
初级用户
积分 36
发帖 16
注册 2007-11-27 14:04
18年会员
UID 103938
性别 男
状态 离线
斑竹说你的标题要便于别人查找,
你的题目最好命名为批量更改文本格式之类的题目
如果我碰到这个问题,可能会先考虑用EXCEL的mid函数来取,或者用数据,资料剖析
4 发表于 2007-12-20 16:05 ·  中国 上海 漕河泾科技网IDC机房
新手上路
积分 14
发帖 6
注册 2007-10-12 13:19
18年会员
UID 99525
性别 男
状态 离线
感觉用excel也很麻烦啊,主要是因为该文件是交换机里的配置文件,如果能直接看到内容那就是txt格式的,弄到execl里面也很麻烦,另外office也用的不好,呵呵。如果可以用bat就搞定就方便多了。
5 发表于 2007-12-20 16:25 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f %%i in (a.txt) do (
set a=%%i
@echo !a:-=.! >>b.txt
)
pause
6 发表于 2007-12-20 17:35 ·  中国 上海 漕河泾科技网IDC机房
新手上路
积分 14
发帖 6
注册 2007-10-12 13:19
18年会员
UID 99525
性别 男
状态 离线
huahua0919

太谢谢啦,佩服的五体投地呀!
7 发表于 2008-07-23 19:21 ·  中国 上海 国通数据中心
初级用户
积分 20
发帖 8
注册 2008-07-17 23:03
18年会员
UID 121657
性别 男
状态 离线
Originally posted by huahua0919 at 2007-12-20 04:25 PM:
@echo off&setlocal enabledelayedexpansion
for /f %%i in (a.txt) do (
set a=%%i
@echo !a:-=.! >>b.txt
)
pause



这个不是会把所有的-都换成 . 的吗 ?
论坛跳转: