|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование\перенос строк с 1.txt до определённой строки\секции в 2.txt. |
|
CMD/BAT - [решено] Копирование\перенос строк с 1.txt до определённой строки\секции в 2.txt.
|
Новый участник Сообщения: 39 |
И так задача:
Необходимо с файла TXTSETUP1.txt вырезать все строки до секции [BootBusExtenders.Load] в TXTSETUP2.txt В общем итоге мне нужно: С файла TXTSETUP1.txt до секции [BootBusExtenders.Load] перенесло всё в TXTSETUP2.txt а в TXTSETUP1.txt все осталось начиная с секции [BootBusExtenders.Load] . Ну как бы разбить их по определённой секции или строке\слову. Нумерация не покатит та свыше 5000 строк и они меняются. За ранние всем спасибо. |
|
------- Отправлено: 06:11, 10-06-2013 |
Ветеран Сообщения: 1758
|
|
Отправлено: 07:50, 10-06-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 39
|
Профиль | Отправить PM | Цитировать Спасибо за ответ,но что то не работает,файл от win xp TXTSETUP.SIF.
|
------- Последний раз редактировалось crimes, 12-06-2013 в 02:46. Отправлено: 09:27, 10-06-2013 | #3 |
Ветеран Сообщения: 1758
|
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)] |
Последний раз редактировалось Foreigner, 10-06-2013 в 22:34. Отправлено: 19:19, 10-06-2013 | #4 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать BAT-файл.
@ECHO OFF FOR /F "tokens=1 delims=:" %%I IN ('FINDSTR /N /L [BootBusExtenders.Load]^<TXTSETUP1.SIF') DO ( SET VAR1=%%I ) SETLOCAL ENABLEDELAYEDEXPANSION FOR /F "tokens=1* delims=]" %%I IN ('FIND /N /V ""^<TXTSETUP1.SIF') DO ( SET VAR2=%%I SET VAR3=!VAR2:~1! SET VAR4=%%J IF !VAR3! LSS %VAR1% ( IF DEFINED VAR4 ( SET /P VAR5="%%J" 0>nul 1>>TXTSETUP2.SIF ECHO.>>TXTSETUP2.SIF ) ELSE ( ECHO.>>TXTSETUP2.SIF )) ELSE ( IF DEFINED VAR4 ( SET /P VAR5="%%J" 0>nul 1>>temp.txt ECHO.>>temp.txt ) ELSE ( ECHO.>>temp.txt ))) MOVE temp.txt TXTSETUP1.SIF ECHO All's ready! Press any key to exit. PAUSE>nul |
|
Отправлено: 20:55, 10-06-2013 | #5 |
Новый участник Сообщения: 39
|
Профиль | Отправить PM | Цитировать Всем спасибо, всё работает.
|
------- Последний раз редактировалось crimes, 11-06-2013 в 02:13. Отправлено: 02:00, 11-06-2013 | #6 |
Ветеран Сообщения: 1758
|
Цитата crimes:
Цитата:
[DiskDriverMap] abiosdsk = "%1 МБ диск Micro Channel" atdisk = "%1 МБ диск IDE/ESDI" disk = "%1 МБ диск %2 ID %3 шина %4 на %5" |
|
Последний раз редактировалось Foreigner, 11-06-2013 в 07:05. Отправлено: 06:53, 11-06-2013 | #7 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать BAT-файл №2.
@ECHO OFF FOR /F "tokens=1 delims=:" %%I IN ('FINDSTR /N /L [BootBusExtenders.Load]^<TXTSETUP1.SIF') DO ( SET /A VAR1=%%I ) FOR /F "tokens=*" %%I IN ('FIND /N /V ""^<TXTSETUP1.SIF') DO ( FOR /F "tokens=1* delims=[]" %%J IN ("%%I") DO ( IF %%J LSS %VAR1% ( IF NOT %%I==[%%J]%%K ( SET /P VAR2="[%%K" 0>nul 1>>TXTSETUP2.SIF ECHO.>>TXTSETUP2.SIF ) ELSE ( SET /P VAR2="%%K" 0>nul 1>>TXTSETUP2.SIF ECHO.>>TXTSETUP2.SIF )) ELSE ( IF NOT %%I==[%%J]%%K ( SET /P VAR2="[%%K" 0>nul 1>>temp.txt ECHO.>>temp.txt ) ELSE ( SET /P VAR2="%%K" 0>nul 1>>temp.txt ECHO.>>temp.txt )))) MOVE temp.txt TXTSETUP1.SIF ECHO All's ready! Press any key to exit. PAUSE>nul |
Отправлено: 14:42, 11-06-2013 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBA - Visual Basic Чтение строк из txt | Startup | Программирование и базы данных | 2 | 23-09-2012 17:48 | |
CMD/BAT - вытащить из 3-x txt файлов строки в 4-й txt и отправить его в шару на сервер | campbell | Скриптовые языки администрирования Windows | 1 | 10-11-2011 09:59 | |
CMD/BAT - [решено] Парсер строк TXT файла | Flayer | Скриптовые языки администрирования Windows | 9 | 15-10-2011 09:44 | |
CMD/BAT - [решено] Вставка строк в конкретные строки (txt) | alexey_vf | Скриптовые языки администрирования Windows | 2 | 06-06-2011 14:58 | |
CMD/BAT - [решено] Чтение определённой строки из txt | hxygen | Скриптовые языки администрирования Windows | 10 | 16-11-2010 02:53 |
|