bat批处理 提取TXT某字符串 前 的字符串 代码找不到哪出了问题 。很辣手

比如现在的文件a.txt内容如下17-11-15-13-11-19-21-7-9-14-14-8-11-14-18-12-7-8-11-2-17-7-16-18-17-1... 比如现在的文件a.txt 内容如下
17-11-15-13-11-19-21-7-9-14-14-8-11-14-18-12-7-8-11-2-17-7-16-18-17-12-13-15-15-16-11-14-13-14-16-15-16-14-11-14-12-15-10-18

比如我想提取文本内11前的那组数字 比如17然后换行13换行8换行。。。然后过滤重复保存到一个新的文本里
提取的代码
@echo off
setlocal enabledelayedexpansion
for /f %%a in (a.txt) do (
set "str1=%%a"
set "str1=!str1:54k= !
for /f %%h in ("!str1!") do (
set "str2=%%h"
echo !str2:~-16!
)
)>>b.txt
echo. |b.bat "b.bat" 1.conf
exit

但是一行只能提取一组 现在一行中出现好多组 但是知道怎么改弄 。。

这个删除重复行的 却不找到怎么把他们放到一起
@echo off
for /f "delims=" %%i in (b.txt) do if not defined %%i set %%i=s&echo %%i>>c.txt
exit
展开
 我来答
yyykkkyyyy
2011-10-07 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3298万
展开全部
把第二个for命令去掉 /f 可以解决一行中不定数的多组问题。(当然之前处理好把处理行以空格或半角逗号分隔),并且输出时加上判断,比如要输出的是!str2!,写成if not defined #str2 echo.!str2!>>newfile&set #!str2!=y就可去掉重复行。
如果还是不会,把对应样文处理后需要的结果也贴出来,我不清楚换行处两头字符,如 “-”要如何处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式