中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 21:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » (求助)如何在多行数据上增加删除内容、多谢(超级新手) 查看 667 回复 4
楼 主 (求助)如何在多行数据上增加删除内容、多谢(超级新手) 发表于 2007-12-20 11:01 ·  日本 东京都 千代田区 NTT通信公司
新手上路
积分 8
发帖 3
注册 2007-12-20 10:27
18年会员
UID 106210
性别 男
状态 离线
请问、如何操作以下这样的数据形式啊。没怎么学习过批处理。求朋友们帮帮忙。谢谢啊。
<
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"
/>
....
2 发表于 2007-12-20 15:34 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
你打哑谜?没说明目的和要求怎么帮你
增加什么?删除哪?
如果要处理的内容包含特殊字符只能用VBS脚本了,先说明目的和要求请zh159或其他VBS高手帮忙
第一高手 第二高手

3 发表于 2007-12-20 18:57 ·  中国 湖北 武汉 中国科学院武汉分院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
lz说明白了, 那里有个箭头.
他的意思是: 将上面的文本转换成箭头下面的
呵呵...

其实这个用bat还是很容易的!!!
4 发表于 2007-12-20 19:53 ·  中国 山西 运城 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
很简单?
你试试看

不过话说回来
如果楼主只是想要下面的结果
直接用Echo把它输出来
确实不太难~~
5 发表于 2007-12-21 11:37 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
一看还真的和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)
简单!简单!再简单!
论坛跳转: