2015-03-15 4 views
0

У меня есть текстовый файл, который содержит формат данных, как показано ниже.Создание кусков текстового файла с использованием оконных команд

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................ 

и так далее .. мне нужно запустить в системе окон. Потому что путь исходного файла исправлен. Может предлагать любые команды, которые я могу выполнить в виде пакетного файла.

ответ

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! 
    ) 
) 

 Смежные вопросы

  • Нет связанных вопросов^_^