Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
10512 / 5476 / 861
Регистрация: 07.04.2013
Сообщений: 15,665
1

Удаление лишних строк в reg-файле

25.12.2015, 18:03. Просмотров 1244. Ответов 2
Метки нет (Все метки)

Приветствую всех !

К примеру имеется дамп ветки реестра HKLM\SYSTEM\CurrentControlSet\services
И мне нужно из этого
Код
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ql40xx]
"Start"=dword:00000003
"Type"=dword:00000001
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  74,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,\
  00,69,00,76,00,65,00,72,00,73,00,5c,00,71,00,6c,00,34,00,30,00,78,00,78,00,\
  2e,00,73,00,79,00,73,00,00,00
"Group"="SCSI Miniport"
"DriverPackageId"="ql40xx.inf_amd64_neutral_77a826e5c0a07842"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ql40xx\Parameters]
"BusType"=dword:00000009

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ql40xx\Parameters\Device]
"DriverParameter"=""

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ql40xx\Parameters\PnpInterface]
"5"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\QWAVE]
"DisplayName"="@%SystemRoot%\\system32\\qwave.dll,-1"
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,\
  79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,76,00,63,00,68,00,6f,\
  00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,6b,00,20,00,4c,00,6f,00,\
  63,00,61,00,6c,00,53,00,65,00,72,00,76,00,69,00,63,00,65,00,41,00,6e,00,64,\
  00,4e,00,6f,00,49,00,6d,00,70,00,65,00,72,00,73,00,6f,00,6e,00,61,00,74,00,\
  69,00,6f,00,6e,00,00,00
"Start"=dword:00000003
"Type"=dword:00000020
"Description"="@%SystemRoot%\\system32\\qwave.dll,-2"
"DependOnService"=hex(7):72,00,70,00,63,00,73,00,73,00,00,00,70,00,73,00,63,00,\
  68,00,65,00,64,00,00,00,51,00,57,00,41,00,56,00,45,00,64,00,72,00,76,00,00,\
  00,4c,00,4c,00,54,00,44,00,49,00,4f,00,00,00,00,00
"ObjectName"="NT AUTHORITY\\LocalService"
"ServiceSidType"=dword:00000001
"RequiredPrivileges"=hex(7):53,00,65,00,43,00,68,00,61,00,6e,00,67,00,65,00,4e,\
  00,6f,00,74,00,69,00,66,00,79,00,50,00,72,00,69,00,76,00,69,00,6c,00,65,00,\
  67,00,65,00,00,00,00,00
"FailureActions"=hex:84,03,00,00,00,00,00,00,00,00,00,00,03,00,00,00,14,00,00,\
  00,01,00,00,00,c0,d4,01,00,01,00,00,00,e0,93,04,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\QWAVE\Parameters]
"ServiceDllUnloadOnStop"=dword:00000001
"ServiceMain"=hex(2):53,00,65,00,72,00,76,00,69,00,63,00,65,00,4d,00,61,00,69,\
  00,6e,00,00,00
"LLTD"=dword:00000001
"ServiceDll"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,\
  00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,71,00,77,00,61,00,76,00,\
  65,00,2e,00,64,00,6c,00,6c,00,00,00
"ProbegapTrace"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\QWAVE\Security]
"Security"=hex:01,00,04,80,5c,00,00,00,68,00,00,00,00,00,00,00,14,00,00,00,02,\
  00,48,00,03,00,00,00,00,00,14,00,9d,00,00,00,01,01,00,00,00,00,00,05,04,00,\
  00,00,00,00,14,00,9d,00,00,00,01,01,00,00,00,00,00,05,14,00,00,00,00,00,18,\
  00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,01,00,00,\
  00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\QWAVEdrv]
"DisplayName"="@%SystemRoot%\\system32\\drivers\\qwavedrv.sys,-1"
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  74,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,\
  00,69,00,76,00,65,00,72,00,73,00,5c,00,71,00,77,00,61,00,76,00,65,00,64,00,\
  72,00,76,00,2e,00,73,00,79,00,73,00,00,00
"Start"=dword:00000003
"Type"=dword:00000001
"Description"="@%SystemRoot%\\system32\\drivers\\qwavedrv.sys,-2"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\QWAVEdrv\Security]
"Security"=hex:01,00,04,80,5c,00,00,00,68,00,00,00,00,00,00,00,14,00,00,00,02,\
  00,48,00,03,00,00,00,00,00,14,00,9d,00,00,00,01,01,00,00,00,00,00,05,04,00,\
  00,00,00,00,14,00,9d,00,00,00,01,01,00,00,00,00,00,05,14,00,00,00,00,00,18,\
  00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,01,00,00,\
  00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasAcd]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"Tag"=dword:00000001
"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
  52,00,49,00,56,00,45,00,52,00,53,00,5c,00,72,00,61,00,73,00,61,00,63,00,64,\
  00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Remote Access Auto Connection Driver"
"Group"="Streams Drivers"
"Description"="Remote Access Auto Connection Driver"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasAcd\Parameters]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasAcd\Security]
"Security"=hex:01,00,14,88,78,00,00,00,84,00,00,00,14,00,00,00,30,00,00,00,02,\
  00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
  00,00,02,00,48,00,03,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
  05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
  20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,01,\
  01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasAgileVpn]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
  52,00,49,00,56,00,45,00,52,00,53,00,5c,00,41,00,67,00,69,00,6c,00,65,00,56,\
  00,70,00,6e,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="WAN Miniport (IKEv2)"
"Description"="WAN Miniport (IKEv2)"
"NdisMajorVersion"=dword:00000006
"NdisMinorVersion"=dword:00000000
сделать вот это

Код
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ql40xx]
"Start"=dword:00000003


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\QWAVE]
"Start"=dword:00000003


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\QWAVEdrv]
"Start"=dword:00000003


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasAcd]
"Start"=dword:00000003


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasAgileVpn]
"Start"=dword:00000003

Я, если честно, затрудняюсь.

findstr мне упорно ничего не хочет выводить
Windows Batch file
FINDSTR /i "HKEY_LOCAL_MACHINE Start" services.reg
Как это сделать с помощью for - тоже не понятно, ладно бы просто найти start, так тут надо каждый конкретный старт от каждой ветки реестра брать и не перепутать + start есть не у каждой ветки


А как сделать по другому, я даже и не знаю.

Буду благодарен за любой полезный намек.
Заранее благодарю

Добавлено через 31 минуту
Windows Batch file
find /i "HKEY_LOCAL_MACHINE Start" < "services.reg" > "services2.txt"
Тоже не вышло. Хотя там, где нашел - утверждают, что работало

Добавлено через 1 час 40 минут
Разобрался
Как всегда очевидные вещи ускользают от меня

Windows Batch file
1
findstr /I /C:""Start"=" /C:"HKEY_LOCAL_MACHINE" services.reg> services2.reg
Как я уже говорил
Цитата Сообщение от vavun Посмотреть сообщение
start есть не у каждой ветки
соответственно на выходе получилось вот это

Код
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET CLR Data]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET CLR Data\Linkage]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET CLR Data\Performance]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET CLR Networking]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET CLR Networking\Linkage]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET CLR Networking\Performance]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET CLR Networking 4.0.0.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET CLR Networking 4.0.0.0\Linkage]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET CLR Networking 4.0.0.0\Performance]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET Data Provider for Oracle]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET Data Provider for Oracle\Linkage]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET Data Provider for Oracle\Performance]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET Data Provider for SqlServer]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET Data Provider for SqlServer\Linkage]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET Data Provider for SqlServer\Performance]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET Memory Cache 4.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET Memory Cache 4.0\Linkage]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NET Memory Cache 4.0\Performance]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NETFramework]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\.NETFramework\Performance]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\1394ohci]
"Start"=dword:00000003
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ACPI]
"Start"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ACPI\Parameters]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ACPI\Parameters\WakeUp]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ACPI\Enum]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\AcpiPmi]
"Start"=dword:00000003
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\AdobeARMservice]
"Start"=dword:00000003
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\AdobeFlashPlayerUpdateSvc]
"Start"=dword:00000003
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\adp94xx]
"Start"=dword:00000003
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\adp94xx\Parameters]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\adp94xx\Parameters\Device]

Теперь новый вопрос: как удалить строку, если после нее нет строки содержащей "Start"=* ?


Такое ощущение, что я вообще не с того начал
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2015, 18:03
Ответы с готовыми решениями:

Сцепка текста в ячейках, если совпадают значения в столбце А, удаление повторов имен, удаление лишних строк
Добрый день, подскажите, как решить задачу: Есть список организаций с контактами. Одна организация...

Удаление лишних пробелов в файле
Помогите плиз решить лабы по паскалю) 2. Дан текстовый файл f. Переписать его содержимое в файл g...

Удаление лишних пробелов в файле
Помогите реализовать программу, которая загружает файл, и удаляет в нем все лишние пропуски, нужно,...

Задача на удаление лишних пробелов в текстовом файле
Вот тут такая задачка кто нибудь помогите мне:help: Организовать текстовый файл состоящий из N...

2
3437 / 1975 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
25.12.2015, 22:44 2
Лучший ответ Сообщение было отмечено vavun как решение

Решение

Цитата Сообщение от vavun Посмотреть сообщение
... сделать вот это

Код
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ql40xx]
"Start"=dword:00000003


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\QWAVE]
"Start"=dword:00000003


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\QWAVEdrv]
"Start"=dword:00000003


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasAcd]
"Start"=dword:00000003


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasAgileVpn]
"Start"=dword:00000003


Windows Batch file
1
2
3
4
5
                                          @echo off
<"services.reg">"services2.reg" 2>nul cmd/v/c for /f "tokens=*" %%i in ('more') do @if not^
    defined bool (echo.%%i^& echo.^& set bool=true) else if "%%i" neq "" set "%%i"^&^&^
        (if defined "Start" echo.!y!^& set ""Start""^& set ""Start"="^& echo.^& ^
            echo.)^|^| (set x=%%i^& if "!x:~,1!" equ "[" set y=%%i)& exit/b
1
10512 / 5476 / 861
Регистрация: 07.04.2013
Сообщений: 15,665
25.12.2015, 23:08  [ТС] 3
ComSpec, в очередной раз выручаешь )
Работает, спасибо

Добавлено через 38 секунд

Не по теме:

на ёлочку не хватило ? )



Добавлено через 16 минут

Не по теме:

Блин, прикольный код :scratch:

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2015, 23:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сортировка и удаление лишних строк
Помогите с кодом сортировки. В общем в текстовую строку пишите номер магазина, все записи с этим...

Удаление лишних строк таблицы, парсер PS
Здравствуйте! Имеется скрипт парсера некой веб - страницы, содержащую таблицу. Таблица извлечена из...

Удаление лишних строк - доделать макрос
Приветствую знатоков и прошу помочь доделать код. Есть текстовые данные, разбитые постранично. На...

Упражнение 1.18 Удаление лишних пробелов, табуляций и строк
Упражнение 1.18. Напишите программу, которая будет в каждой вводимой строке заменять стоящие подряд...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.