批处理文本,当文本中出现某个值才修改某行的一个值该,怎么写

比如现有2个文本第一个QQ10WA20EE30H140QQ50第二个QQ10WE21EE30H140QQ50现在我要的是如果文本中第二行中是WA20就把H140改成H13... 比如现有2个文本
第一个
QQ 10
WA 20
EE 30
H1 40
QQ 50
第二个
QQ 10
WE 21
EE 30
H1 40
QQ 50
现在我要的是如果文本中第二行中是WA 20 就把 H1 40 改成 H1 33,如果文本中出现的是WE 21 就把 H1 40改现 H1 55
展开
 我来答
yyykkkyyyy
2013-10-07 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3266万
展开全部

给简化一下a.txt中找到WA 20就把WE 40改为H1 33否则改...H1 55

注意原文不能有多余空格,如果不是这样再追问

@echo off
findstr/c:"WA 20" a.txt>nul&&set s=33||set s=55
(for /f "delims=" %%i in (a.txt)do (
  if "%%i"=="H1 40" (echo H1 %s%)else echo.%%i
))>b.txt
move b.txt a.txt
pause
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式