Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


crimes,
Батники не совсем подходят для таких задач (работа с текстом). Варианты на PowerShell:
Код: Выделить весь код
$a = gc .\TXTSETUP.SIF
$file = ".\1.txt"

$a | % {

    if ($_ -eq "[BootBusExtenders.Load]") { $file = ".\2.txt" }
    add-content $file $_

}
Вариант побыстрей:
Код: Выделить весь код
$a = gc .\TXTSETUP.SIF

for ($i = 0; $i -le ($a.count-1); $i++ ) { 

    if ($a[$i] -eq "[BootBusExtenders.Load]") { $ind = $i; break }
    
}

set-content .\1.txt $a[0..($ind-1)]    
set-content .\2.txt $a[$ind..($a.count-1)]
С помощью sed:
Код: Выделить весь код
@echo off
setlocal

for /f %%i in ('sed -n "/\[BootBusExtenders\.Load\]/ =" TXTSETUP.SIF') do set "str=%%i"

sed -n "%str%,$ p" TXTSETUP.SIF > 2.txt
set /a str-=1
sed -n "1,%str% p" TXTSETUP.SIF > 1.txt

Последний раз редактировалось Foreigner, 10-06-2013 в 22:34.


Отправлено: 19:19, 10-06-2013 | #4