ilovevirus
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Maza Faka Сейчас у меня происходит подсчет строк, пока не найдена искомая строка и копирование всех строк после найденной в другой файл. Хотелось бы: 1. увеличить скорость обработки за счет, не копирования, а удаления строк в заданном файле. 2. возникает проблема подсчета пустых строк, во-первых они не учитываются, во-вторых вместо них в новом файле идут строки - "echo off". 3. не могу выйти из цикла, когда нужная строка найдена, необходимо прервать цикл, что-то типа exit for, break, exit /b .... Пожалуйста подскажите. Вот кусок кода: for /f "tokens=1" %%A in (%WorkFile%) do (call :countStr "%%A") goto :eof :countStr if %1 neq "%beforeDate%" ( set /a count_str+=1 echo Skip string %1 goto :eof) else ( echo Find string %1 echo delete strings=%count_str% @if %count_str% neq 0 ( goto :findstr) else ( goto :eof)) :findstr echo "preparing to copy valid strings" for /f "skip=%count_str% tokens=*" %%B in (%WorkFile%) do (echo %%B >> %LOGDIR%\%WorkFileName%_) goto :eof вот кусок данных: 01.09.2007 20:21:02 01.09.07 20:21:02 info: файл C:\128_109.txt 01.09.07 20:21:02 info: файл настроек C:\Import.cfg 01.09.07 20:21:02 info: Вызов функции импорта 02.09.2007 21:21:02 02.09.07 21:21:02 info: файл C:\128_110.txt 02.09.07 21:21:02 info: файл настроек C:\Import.cfg ... |