我有一个文本文件,其中包含数据格式,如下例所示。
的test.txt
ABCDEFG.file1
1239 1240 1242 1391 1392 1394 1486 1487 1489 1600
3481 3482 3484 3633 3634 3636 3690 3691 3693 3766
3767 3769 4526 4527 4529 4583 4584 4586 4773 4774
4776 5153 5154 5156 5628 5629 5631
ABCDEFG.file2
1239 1240 1242 1391 1392 1394 1486 1487 1489 1600
1601 1603 1657 1658 1660 2075 2076 2078 2322 2323
2325 2740 2741 274................
ABCDEFG.fileN
ery 1240 1242 dfhdfh 1392 dfhdfh 1486 dfhdfh dfhdfh 1600
1601 dfh 1657 1658 1660 2075 2076 2078 2322 2323
2325 2740 dfhdfh 2743 dfhdfh 3083 3085 3291 3292 3294
3481 3482 3484 3690 3691 3693 3766 3767 3769 4241
4242 4244 4526 4527 4529 4583 4584 4586 dfhfh 4774
4776 5153 5154 5156 54...............
如何根据字符串" ABCDEFG"拆分上述文本文件。并且输出应该如下所示在不同的文件中。
FILE1.TXT
ABCDEFG.file1
1239 1240 1242 1391 1392 1394 1486 1487 1489 1600
3481 3482 3484 3633 3634 3636 3690 3691 3693 3766
3767 3769 4526 4527 4529 4583 4584 4586 4773 4774
4776 5153 5154 5156 5628 5629 5631.......
FILE2.TXT
ABCDEFG.file2
1239 1240 1242 1391 1392 1394 1486 1487 1489 1600
1601 1603 1657 1658 1660 2075 2076 2078 2322 2323
2325 2740 2741 274................
等等.. 我需要在Windows系统中运行。因为源文件的路径是固定的。 可以建议我可以作为批处理文件执行的任何命令。
答案 0 :(得分:0)
您可以使用字符串操作来拆分ABCDEFG字符串并搜索它。根据您的示例数据,这将创建file1.txt,file2.txt和fileN.txt。
@echo off
setlocal enabledelayedexpansion
for /F "delims=" %%A in (data.txt) do (
set line=%%A
set first7=!line:~0,7!
set last5=!line:~8!
if [!first7!]==[ABCDEFG] (
set filename=!last5!.txt
echo ABCDEFG.!last5!>!filename!
) else (
echo %%A>>!filename!
)
)