Board logo

标题: 一个文本数据替换另一文本部分数据 [打印本页]

作者: superchao115     时间: 2009-6-12 09:30    标题: 一个文本数据替换另一文本部分数据

有一个文本: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条语句。
请帮忙,等把这个任务弄完了,好好学学批处理。谢谢各位指教!
作者: moniuming     时间: 2009-6-12 10:07
没测试:
@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%"

作者: superchao115     时间: 2009-6-12 10:42
高手,谢谢了,就是有一点点需要改进下,我想让每一位数字保持5位。你上面那个每个数字前面都有4个0.  我想要的是,P00001   P00010  P11200,这样!谢谢
作者: moniuming     时间: 2009-6-12 11:14

@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%"

作者: superchao115     时间: 2009-6-12 11:21
呵呵,位数对了,全是个位数字,p00001到p00009。 再三麻烦你,真不好意思。
作者: moniuming     时间: 2009-6-12 12:03
哦,弄错了...
@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%"

作者: superchao115     时间: 2009-6-12 12:21
好了,呵呵。谢谢你了,太感谢了。 很晚了,晚安!
作者: superchao115     时间: 2009-7-7 10:52
请教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条语句。
作者: moniuming     时间: 2009-7-7 12:06
没测试:
@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%"

作者: superchao115     时间: 2009-7-7 22:56
运行好像有些问题,格式上是不是有些小问题,下面是运行的结果(第1行)
elementprops_modify( "p~-5str:~-5str2:~,4", "Coord 0", "", "", "", ""], "Element 1" )
谢谢
作者: superchao115     时间: 2009-7-7 23:26
我改好了,谢谢你。。。