Board logo

标题: (求助)如何在多行数据上增加删除内容、多谢(超级新手) [打印本页]

作者: wind31     时间: 2007-12-20 11:01    标题: (求助)如何在多行数据上增加删除内容、多谢(超级新手)

请问、如何操作以下这样的数据形式啊。没怎么学习过批处理。求朋友们帮帮忙。谢谢啊。
<
homeName="cn.bootroot.EJB00101AppleLogicHome"
TempName="Temp001_Temp00101Apple"
methodName="executeMain1"
                    
/>

<
homeName="cn.bootroot.EJB00102AppleLogicHome"
TempName="Temp002_Temp00102Apple"
methodName="executeMain2"
                    
/>
....

<
homeName="cn.bootroot.EJB001LogicHome"
TempName="Temp/Temp001"
methodName="Temp00101AppleExecuteMain"                               
/>
<
homeName="cn.bootroot.EJB002LogicHome"
TempName="Temp/Temp002"
methodName="Temp00102AppleExecuteMain"                               
/>
....
作者: fastslz     时间: 2007-12-20 15:34
你打哑谜?没说明目的和要求怎么帮你
增加什么?删除哪?
如果要处理的内容包含特殊字符只能用VBS脚本了,先说明目的和要求请zh159或其他VBS高手帮忙
作者: scriptor     时间: 2007-12-20 18:57
lz说明白了, 那里有个箭头.
他的意思是: 将上面的文本转换成箭头下面的
呵呵...

其实这个用bat还是很容易的!!!
作者: qzwqzw     时间: 2007-12-20 19:53
很简单?
你试试看

不过话说回来
如果楼主只是想要下面的结果
直接用Echo把它输出来
确实不太难~~
作者: terse     时间: 2007-12-21 11:37
一看还真的和2楼一样有点摸不着头脑!所以昨天给了个错误的!
针对你的要求发的 无通用
@echo off
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
    set list=%%b   
    setlocal enabledelayedexpansion
    SET aaa=!list:~0,8!
    if "!aaa!"=="homeName" set/a num+=1
    set list0=Temp00!num!_Temp001
    set list1=Temp/Temp00!num!
    set list2=0!num!Apple
    set list3=executeMain!num!
    set list4=Temp0010!num!AppleexecuteMain
    call :aaa
)
move /y "a.tmp" "a.txt" 2>NUL
goto :efo
:aaa
    set list=!list:%list0%=%list1%!
    set list=!list:%list2%=!
    set list=!list:%list3%=%list4%!
    if not "%%b"=="" (echo/!list! >>a.tmp) ELSE (echo.>>a.tmp)