0
我正在接收其中包含一系列消息的文本文件。我需要将这些文件分解为单独的文本文件。我收到的文件是这样的:将文本文件分解为多个文件中线
{1:data1}{2:data1}{3:{data1}}{4:
data1
data1
data1
data1 data data data
data1 data data data
data1
data1
-}{1:data2}{2:data2}{3:{data2}}{4:
data2
data2 data data data
data2
data2 data data data
data2
-}{1:data3}{2:data3}{3:{data3}}{4:
data3
data3 data data data
data3
data3
data3
-}{1:data4}{2:data4}{3:{data4}}{4:
data4
data4
data4
data4
data4 data data data
data4
data4
data4 data data data
data4
data4 data data data
data4
-}{1:data5}{2:data5}{3:{data5}}{4:
data5
data5
-}
我需要打破初始文件到在大括号放在同一文件夹内单独的文本文件1之前的结果应该结束了寻找生成的文本文件像这样:
{1:data1}{2:data1}{3:{data1}}{4:
data1
data1 data data data
data1
data1 data data data
data1
data1
data1
-}
在每个文本文件中可以有动态数量的消息。我找到了下面的代码并对其进行了调整,但无法实现我想要的功能。任何帮助将不胜感激。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET /a incnum=0
SET "searchstring={1:"
SET "found="
FOR /f "delims=" %%a IN (msg1.txt) DO (
ECHO("%%a"|FIND "%searchstring%" >NUL
IF NOT ERRORLEVEL 1 (SET found=Y&set/a incnum+=1)
IF DEFINED found >>"file!incnum!" ECHO(%%a
)
GOTO :EOF
PAUSE
这很好用!除了我注意到有多个单词用空格分隔的行只是获取新文件中的第一个单词。我编辑了上面的帖子来说明。 – user3381200
@ user3381200当然。对不起,我编辑了我的答案。 – unclemeat
这工作太棒了。非常感谢你的不体面!这正是我需要的。 – user3381200