中国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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: