Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сборка регфайла и фильтрация...

Ответить
Настройки темы
CMD/BAT - [решено] Сборка регфайла и фильтрация...

Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Изменения
Автор: semiono
Дата: 17-01-2010
Пример:
reg export HKLM\Software\Native Instruments\AkoustikPiano C:\new1.reg
reg export HKCU\Software\Native Instruments\AkoustikPiano C:\new2.reg

файлы будут содержать всякое разное...

Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Native Instruments\AkoustikPiano]
"ContentVersion"="C++"
"InstallDir"="C:\\I\\system32\\Pro\\AkoustikPiano"
"UserName"="Semiono"
"SNO"="17287-50778-51179-43449-85138"
"SYSTEMID"="8981711871480501873439118040718514007018"
"KEY"="804907001001040891145018901440104841094044400400711711198448"

[HKEY_LOCAL_MACHINE\Software\Native Instruments\AkoustikPiano\searches]
Из двух этих файлов надо собрать только полезное....

Скажем только:

Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Native Instruments\AkoustikPiano]
"ContentDir"="D:\\01\\"

[HKEY_LOCAL_MACHINE\Software\Native Instruments\AkoustikPiano]
"InstallDir"="C:\\I\\system32\\Pro\\AkoustikPiano"
Нужен батник вообщем.

Пожалуйста, покажите разные способы чтобы выбрать более лаконичное решение,
я знаю наверное вариант не один будет!
---

Если есть необходимость использовать утилиты не входящие в WinXP, это нормально,
но только одиночные бинарики, а не PowerShell и т.п. так как нужна возможность переноса
этого на разные компьютеры...

Вот, кстати, reg2Inf.exe даже без dotnetfx не работат, что не есть хорошо...
Кстати, если есть вариант получить INI файл вместо reg в моём примере, я бы тоже такое хотел! ??

-------
Полезное сообщение


Отправлено: 22:52, 17-01-2010

 

(*.*)


Сообщения: 36553
Благодарности: 6692

Профиль | Сайт | Отправить PM | Цитировать


Цитата semiono:
Из двух этих файлов надо собрать только полезное.... »
IF EXIST полезное...

А кто его определять будет, искусственный интеллект на базе командного интерпретатора?

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:00, 21-01-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для skyfish

Пользователь


Сообщения: 69
Благодарности: 23

Профиль | Отправить PM | Цитировать


Если критерий полезности вы сможете выразить регулярным выражением (вам, вроде, пути нужны) — то grep всё сделает.
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:34, 21-01-2010 | #3


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Полезное я показал в примере! Всмысле я всегда заню имена параметров до экспорта, но не знаю их значения. То-есть имена можно задать явно.

Мне amel27 подсказал гениальное решение!
Может я его не точно понял, но примерно вот что вышло у меня...

Код: Выделить весь код
@reg copy HKLM\Software\Microsoft\Windows\CurrentVersion\Setup HKLM\Software\$DEBUG\$1 /s /f

@reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\BaseWinOptions" /f
@reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\ExceptionComponents" /f
@reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\Oc Manager" /f
@reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents" /f

@reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Setup /v BootDir /f
@reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Setup /v CDInstall /f
@reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Setup /v PrivateHash /f

@reg export HKLM\Software\Microsoft\Windows\CurrentVersion\Setup C:\example.reg
@reg copy HKLM\Software\$DEBUG\$1 HKLM\Software\Microsoft\Windows\CurrentVersion\Setup /s /f
@reg delete HKLM\Software\$DEBUG /f
... а вот кстати сейчас читаю его заново, он имел вввиду сам заголовок ключа восстановить регфайлом,
forum.oszone.ru/post-1325106-3.html значит я точно не то зделал, хотя у меня тоже работает

Но у меня такой вопрос тогда, как это всё инвертировать можно? Всмысле ненужного обычно болше
бывает, гораздо чаще проще было б задать нужное и остальное удалить.

Наверное так IF EXIST Но я в батниках не шарю, пожалуйста покажите как логику выстроить?

ЗЫ Я думаю это не столь опасно временно удалять ключи реестра,
если конечно ошибок нет и они будут восстановленны до перезагрузки?
Впрочем мне на практике системные записи вряд ли нужны, дело касается только software\

-------
Полезное сообщение


Отправлено: 04:55, 21-01-2010 | #4


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Ребят, можно ли как-то в батнике застолбить переменные, чтоб они исключениями стали, всёравно в чём,
хоть в поиске файлов хоть где угодно. Хотя я думаю, что это невозможно.
Жаль считай всё готово, толькоб эту проблему осталось разрешить...
Хотя я опять с ужасом вспомнил, что всё это упирается опять же в reg.exe, который опять же не поймёт конкретный ввод даже если бы получилось. Ну хотя бы так получить исключения, я бы ещё подумал потом, что с этим делать далее ...

что IF EXIST ContentDir NEXT... чтоли?

-------
Полезное сообщение


Отправлено: 18:40, 21-01-2010 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата semiono:
Но у меня такой вопрос тогда, как это всё инвертировать можно? Всмысле ненужного обычно болше бывает, гораздо чаще проще было б задать нужное и остальное удалить. »
теоретически, это можно сделать и средствами одного REG.EXE, но очевидные баги и вольности в формате выходных данных сводят на нет всю его функциональность... поэтому ИМХО практичней дополнить его альтернативными решениями (WSH, сторонние утилиты), чем извращаться с парсингом вывода REG.EXE

Цитата semiono:
можно ли как-то в батнике застолбить переменные, чтоб они исключениями стали, всёравно в чём »
а теперь то же самое, но по-русски...
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:12, 23-01-2010 | #6


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Цитата amel27:
а теперь то же самое, но по-русски... »
Ну это то же самое другими словами
Как бы так
set var1 = "InstallDir"
set var2 = "Content Dir"
reg delete la-la-la ... кроме var1, var2

Но верно, лучше
Цитата amel27:
альтернативными решениями (WSH, сторонние утилиты) »
другими решениями заняться.
я более ставку сейчас делаю на inf файл, помоги переделать (RegSave) скрипт? ...

-------
Полезное сообщение


Отправлено: 05:55, 23-01-2010 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сборка регфайла и фильтрация...

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Удаление строк из регфайла... semiono AutoIt 4 21-01-2010 11:06
Фильтрация ГП с использованием групп. nghst Microsoft Windows NT/2000/2003 4 05-02-2008 06:12
Фильтрация файлов FiL1N-22rus Microsoft Windows NT/2000/2003 1 09-06-2007 11:04
NAT и фильтрация пакетов rooty Microsoft Windows NT/2000/2003 5 28-11-2005 09:37




 
Переход