中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个文本数据替换另一文本部分数据
作者:
标题: 一个文本数据替换另一文本部分数据 上一主题 | 下一主题
superchao115
初级用户





积分 26
发帖 32
注册 2009-5-28
状态 离线
『楼 主』:  一个文本数据替换另一文本部分数据

有一个文本:shuchu.txt.里面内容为2列,第1列表示序号,第2列为字母,总共有11200行,如下形式: 1 TTCC 2 TTFC 3 TTCC …… …… 11200 TCTC 我现在要通过这11200行的数据,替换另一个文档中相关内容。 对于第1个数据,替换后的结果如下: --------------------------------------------------------------------------------------------------------------- elementprops_modify( "p00001", "p00001", 51, 25, 35, 1, 3, 20, [13, 20, 4037, 4111, 4213, 8111], [5, 9, 1, 1, 4, 4], ["m:TTCC", "Coord 0", "", "", "", ""], "Element 1" ) --------------------------------------------------------------------------------------------------------------- 对于第二个数据,替换后的结果如下: --------------------------------------------------------------------------------------------------------------- elementprops_modify( "p00002", "p00002", 51, 25, 35, 1, 3, 20, [13, 20, 4037, 4111, 4213, 8111], [5, 9, 1, 1, 4, 4], ["m:TTFC", "Coord 0", "", "", "", ""], "Element 2" ) ---------------------------------------------------------------------------------------------------------------- 以此类推 每一个数据对应一条语句,总共有11200条语句。 请帮忙,等把这个任务弄完了,好好学学批处理。谢谢各位指教!


2009-6-12 09:30
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 2 楼』:  

没测试:
@echo off
set "src_file=shuchu.txt"
set "dst_file=shuchu_bak.txt"
(
for /f "tokens=1,2" %%a in ('type "%src_file%"') do (
   echo.elementprops_modify^( "p0000%%a", "p0000%%a", 51, 25, 35, 1, 3, 20, [13, 20, 4037, 4111, 4213, 8111], [5, 9, 1, 1, 4, 4], ["m:%%b", "Coord 0", "", "", "", ""], "Element %%a" ^)
)
)>"%dst_file%"
start "" "%dst_file%"


   此帖被 +2 点积分    点击查看详情   
评分人:【 superchao115 分数: +2  时间:2009-6-12 10:42


2009-6-12 10:07
查看资料  发短消息  网志   编辑帖子  回复  引用回复
superchao115
初级用户





积分 26
发帖 32
注册 2009-5-28
状态 离线
『第 3 楼』:  

高手,谢谢了,就是有一点点需要改进下,我想让每一位数字保持5位。你上面那个每个数字前面都有4个0. 我想要的是,P00001 P00010 P11200,这样!谢谢


2009-6-12 10:42
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 4 楼』:  

@echo off
setlocal enabledelayedexpansion
set "src_file=shuchu.txt"
set "dst_file=shuchu_bak.txt"
(
for /f "tokens=1,2" %%a in ('type "%src_file%"') do (
   set "str=p0000%%a"
   echo.elementprops_modify^( "!str:~,6!", "!str:~,6!", 51, 25, 35, 1, 3, 20, [13, 20, 4037, 4111, 4213, 8111], [5, 9, 1, 1, 4, 4], ["m:%%b", "Coord 0", "", "", "", ""], "Element %%a" ^)
)
)>"%dst_file%"
start "" "%dst_file%"


2009-6-12 11:14
查看资料  发短消息  网志   编辑帖子  回复  引用回复
superchao115
初级用户





积分 26
发帖 32
注册 2009-5-28
状态 离线
『第 5 楼』:  

呵呵,位数对了,全是个位数字,p00001到p00009。 再三麻烦你,真不好意思。


2009-6-12 11:21
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 6 楼』:  

哦,弄错了...
@echo off
setlocal enabledelayedexpansion
set "src_file=shuchu.txt"
set "dst_file=shuchu_bak.txt"
(
for /f "tokens=1,2" %%a in ('type "%src_file%"') do (
   set "str=0000%%a"
   echo.elementprops_modify^( "p!str:~-5!", "p!str:~-5!", 51, 25, 35, 1, 3, 20, [13, 20, 4037, 4111, 4213, 8111], [5, 9, 1, 1, 4, 4], ["m:%%b", "Coord 0", "", "", "", ""], "Element %%a" ^)
)
)>"%dst_file%"
start "" "%dst_file%"


   此帖被 +2 点积分    点击查看详情   
评分人:【 superchao115 分数: +2  时间:2009-6-12 12:21


2009-6-12 12:03
查看资料  发短消息  网志   编辑帖子  回复  引用回复
superchao115
初级用户





积分 26
发帖 32
注册 2009-5-28
状态 离线
『第 7 楼』:  

好了,呵呵。谢谢你了,太感谢了。 很晚了,晚安!


2009-6-12 12:21
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
superchao115
初级用户





积分 26
发帖 32
注册 2009-5-28
状态 离线
『第 8 楼』:  

请教moniuming。。 我现在有点新的变化了,请问如何处理,谢谢。。。 有一个文本:shuchu.txt.里面内容为2列,第1列表示序号,第2列为字母,总共有11200行,如下形式: 1 TTCCCCTT 2 TTFCCFTT 3 TTCCCCTT …… …… 11200 TCTCCTCT [就这上面部分内容变化了,原先是4个字母,现在变成了8个,不过这8个字母是对称的,我想利用前4个字母,还是得到以下的内容,谢谢] 我现在要通过这11200行的数据,替换另一个文档中相关内容。 对于第1个数据,替换后的结果如下: --------------------------------------------------------------------------------------------------------------- elementprops_modify( "p00001", "p00001", 51, 25, 35, 1, 3, 20, [13, 20, 4037, 4111, 4213, 8111], [5, 9, 1, 1, 4, 4], ["m:TTCC", "Coord 0", "", "", "", ""], "Element 1" ) --------------------------------------------------------------------------------------------------------------- 对于第二个数据,替换后的结果如下: --------------------------------------------------------------------------------------------------------------- elementprops_modify( "p00002", "p00002", 51, 25, 35, 1, 3, 20, [13, 20, 4037, 4111, 4213, 8111], [5, 9, 1, 1, 4, 4], ["m:TTFC", "Coord 0", "", "", "", ""], "Element 2" ) ---------------------------------------------------------------------------------------------------------------- 以此类推 每一个数据对应一条语句,总共有11200条语句。


2009-7-7 10:52
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 9 楼』:  

没测试:
@echo off
setlocal enabledelayedexpansion
set "src_file=shuchu.txt"
set "dst_file=shuchu_bak.txt"
(
for /f "tokens=1,2" %%a in ('type "%src_file%"') do (
   set "str1=0000%%a"&set "str2=%%b"
   echo.elementprops_modify^( "p!str:~-5!", "p!str:~-5!", 51, 25, 35, 1, 3, 20, [13, 20, 4037, 4111, 4213, 8111], [5, 9, 1, 1, 4, 4], ["m:!str2:~,4!", "Coord 0", "", "", "", ""], "Element %%a" ^)
)
)>"%dst_file%"
start "" "%dst_file%"


   此帖被 +2 点积分    点击查看详情   
评分人:【 superchao115 分数: +2  时间:2009-7-7 23:27


2009-7-7 12:06
查看资料  发短消息  网志   编辑帖子  回复  引用回复
superchao115
初级用户





积分 26
发帖 32
注册 2009-5-28
状态 离线
『第 10 楼』:  

运行好像有些问题,格式上是不是有些小问题,下面是运行的结果(第1行) elementprops_modify( "p~-5str:~-5str2:~,4", "Coord 0", "", "", "", ""], "Element 1" ) 谢谢


2009-7-7 22:56
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
superchao115
初级用户





积分 26
发帖 32
注册 2009-5-28
状态 离线
『第 11 楼』:  

我改好了,谢谢你。。。


2009-7-7 23:26
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: