通过批处理分类文本文档的内容
目前文档中文字格式是这样:@A***************@B***********表示文字,用@A和@B表示两种分类,而且分类不止两种;请问如何实现将文档中所有文字按...
目前文档中文字格式是这样:
@A
*****
*****
*****
@B
*****
*****
*表示文字,用@A 和 @B表示两种分类,而且分类不止两种;
请问如何实现将文档中所有文字按照A B C这样的分类的整合到一起,输出为按分类的txt文件? 多谢! 展开
@A
*****
*****
*****
@B
*****
*****
*表示文字,用@A 和 @B表示两种分类,而且分类不止两种;
请问如何实现将文档中所有文字按照A B C这样的分类的整合到一起,输出为按分类的txt文件? 多谢! 展开
展开全部
@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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询