通过批处理分类文本文档的内容

目前文档中文字格式是这样:@A***************@B***********表示文字,用@A和@B表示两种分类,而且分类不止两种;请问如何实现将文档中所有文字按... 目前文档中文字格式是这样:
@A
*****
*****
*****
@B
*****
*****
*表示文字,用@A 和 @B表示两种分类,而且分类不止两种;
请问如何实现将文档中所有文字按照A B C这样的分类的整合到一起,输出为按分类的txt文件? 多谢!
展开
 我来答
野人拆
2013-04-18 · TA获得超过1069个赞
知道小有建树答主
回答量:815
采纳率:57%
帮助的人:551万
展开全部
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in (file.txt) do (
set "line=%%a"
if "!line:~0,1!"=="@" (
set "fileName=@!line:~1!"
cd.>!fileName!.txt
) else (
echo !line!>>!fileName!.txt
)
)
echo Done.
pause
更多追问追答
追问
非常感谢回答! 基本上满足需求,但是有一些小问题还麻烦您解决一下:
1.文字部分如果带有换行,处理后的文件内换行被删掉了,能否保留?
2.如果file.txt文件有两个地方或者更多的地方都有@A类的文字,处理后的@A文件只保留了最后面的部分。
追答
试试看这样呢:
@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (file.txt) do (
set "line=%%a"
if "!line:~0,1!"=="@" (
set "fileName=@!line:~1!"
) else (
echo !line!>>!fileName!.txt
)
)
echo Done.
pause
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式