![]() |
Поиск строки по слову и добавление новой строки после найденой.
Уважаемые, пожалуйста окажите помощь!
Задача такова: Есть текстовый файл примерно такого вида: 12:40:18;2448;DFEGB;FDSF 12:43:04;8393;;RAAI 18 12:43:25;24897;LKUY;KJLLKO 12:47:16;28627;;MIHIUH 12:47:20;29572;KLKGHJHr;SAGFHAY ;8489;ADVB;In 2;0:00:03 ;31027;ADVB;DBXL2312;0:00:09 ;30830;ADVB;DBXL2271;0:00:20 ;31044;ADVB;DBXL2315;0:00:12 ;31026;ADVB;DBXL2311;0:00:09 ;31052;ADVB;DBXL2317;0:00:15 ;30436;ADVB;DBXL2200;0:00:27 ;31017;ADVB;DBXL2309;0:00:13 ;8499;ADVB;Out 2;0:00:05 12:53:48;29961;FDKQ;HHKJHIK 12:57:43;26093;;HJHKJHAW и т.д. Необходимо написать батник, которому передается название этого текстового файла. В нем нужно найти строки содержащие текст "DBXL" и добавить после каждой такой строки строку с определенным текстом. Например ";VSTAVKA". Обработанный файл нужно сохранить под тем же именем. Возможно кто то уже сталкивался с похожей задачей. Буду весьма благодарен за любую подсказку. Заранее огромное спасибо! |
Пробуйте:
|
Супер! Спасибо большое!
Работает! Единственно, что добавляет запись в ту же строку. Попробую добавить перевод строки. еще раз благодарю! |
|
Теперь просто идеально.
Не знаю как и благодарить. Вы мне очень помогли. Спасибо! |
К сожалению возникла еще одна проблема.
Если в тексте встречается символ &, то батник, судя по всему, считает следующее за ним слово командой. И соответственно в каждом случае выдает сообщение, что это не является внутренней или внешней командой, исполняемым или пакетным файлом. |
Mikhael2011, поздравляю! Вы созрели для WSH:
|
Код:
@ECHO OFF К сожалению, зтот скрипт также "чувствителен" к символу "&". Но эту проблему можно решить, заменив при помощи "Блокнота" все символы "&" в тексте на какой-нибудь другой символ, который не встречается в тексте, или на сочетание символов, которое точно не будет фигурировать в тексте, а после применения скрипта в полученном тексте поменять этот символ или это сочетание символов снова на "&". Только не используйте для замены символы "%", "^", "|" и. т. п., так как они также могут привести к аналогичной ошибке. Кстати, ещё возникала проблема с точкой с запятой (";") в начале строк, но она была решена. |
Цитата:
Код:
"eol=" |
"Поборол" "противный" амперсанд (&), а заодно и большинство других "нежелательных" символов. При данном методе "выжили" только кавычки ("), да и то непарные (парные кавычки в середине строк корректно реплицируются, а вот по краям строк "самоликвидируются", что тоже не очень хорошо). Остались также нерешенными проблемы репликации пустых строк и пробелов в начале строк (в т. ч. строк, состоящих из пробелов). Думаю их можно решить другими методами.
Код:
@ECHO OFF |
Цитата:
|
Код:
for /f "delims=" %%i in (0001.txt) do echo определенный текст%%i>>0002.txt |
Цитата:
start /low C:\Windows\comencom.cmd start /low "C:\Users\User\AppData\Roaming\uTorrent\uTorrent.exe" /MINIMIZED start /low "C:\Program Files\Skype\Phone\Skype.exe" /minimized /regrun а мне нужно так ping -n 4 127.0.0.1 >nul start /low C:\Windows\comencom.cmd ping -n 4 127.0.0.1 >nul start /low "C:\Users\User\AppData\Roaming\uTorrent\uTorrent.exe" /MINIMIZED ping -n 4 127.0.0.1 >nul start /low "C:\Program Files\Skype\Phone\Skype.exe" /minimized /regrun притом строк будет очень много, эти я взял для примера. то есть мне нужно чтобы перед каждой строкой была ping -n 4 127.0.0.1 >nul |
Код:
@echo off |
Цитата:
то есть по умолчании так start /low C:\Windows\comencom.cmd а мне нужно так @echo off start /low C:\Windows\comencom.cmd |
Код:
@echo off |
Подскажите как написать файл который бы в текстовом документе (10гиг) через каждые 15 строк ставил пустую строку или символ-- помогите очень нужно!
|
eggggggr, кодировка какая у текстового файла? Если юникод — то какой, и есть ли BOM? Концы строк в каком виде Windows, Unix, Mac?
Цитата:
|
Время: 16:01. |
Время: 16:01.
© OSzone.net 2001-