PDA

Показать полную графическую версию : [решено] Изменение файла drweb32.lst


Ky2
08-12-2010, 16:40
Всем привет!

Необходимо для автоматизации процесса обновления ключей Drweb на рабочих станциях, периодически вносить изменения в файл drweb32.lst. В него надо вписать данные о файле-ключе drweb32.key.

Приведу кусок исходного содержания файла drweb32.lst
[DrWebUpdateList]
[500]
+timestamp, 15B73923
+lang.lst, 68CDC565
+update.drl, BFCDB499
+drwebupw.exe, C7AB2D5E
...
+drwreg.exe, 45D6C1D5
[DrWebUpdateListEnd]
Вот куда-то в перечень файлов и надо добавить информацию о ключе.
+drweb32.key, 1A601ECF
Т.е. вставить надо между [DrWebUpdateList] и [DrWebUpdateListEnd]

Чтобы в итоге получилось что-то такое:
[DrWebUpdateList]
[500]
+timestamp, 15B73923
+lang.lst, 68CDC565
+update.drl, BFCDB499
+drwebupw.exe, C7AB2D5E
...
+drwreg.exe, 45D6C1D5
+drweb32.key, 1A601ECF
[DrWebUpdateListEnd]

Иными словами, есть 2 текстовых файла и надо строку из одного вставить во второй, но не в конец файла.

Если есть какие-то варианты, помогите, пожалуйста.

NiOl
09-12-2010, 00:05
Имя файла со значением "+drweb32.key, 1A601ECF" кладется в переменную Src, в переменной Mark строка, перед которой надо каждый раз вставить весь файлик, указанный в Src. Ну, при необходимости можно дописать пути к файлам, но тогда следите за всякими там пробелами и используйте кавычки...
зы: Кстати о кавычках... приду в полночь, загадки загадывать буду. Ответите - столик Ваш, а не ответите... будет лучше, если ни в одном файле кавычек не будет ;)

@echo off

set Src=drweb32.src
set Mark=[DrWebUpdateListEnd]

ren drweb32.lst *.txt||exit 1
for /f "tokens=* delims=" %%L in (drweb32.txt) do (
if "%%L"=="%Mark%" type %Src%>>drweb32.lst
echo %%L>>drweb32.lst
)
del /q /f drweb32.txt >nul

Ky2
09-12-2010, 12:41
NiOl,

СПАСИБО!!!! Все прекрасно работает!




© OSzone.net 2001-2012