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

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

Ответить
Настройки темы
CMD/BAT - [решено] Как и где из реестра считать путь к папке ...\System32\

Аватара для Drongo

Будем жить, Маэстро...


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


Конфигурация

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


Приветы. Вопросов два.

1. Как экспортировать две\три или любое произвольное количество веток реестра в один лог-файл Registry.log. Так я могу сохранить одну ветку
Код: Выделить весь код
Reg EXPORT "HKHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion" "Registry.log" >nul
А как в этом же Registry.cmd дописать ещё такую же команду резервирования, но для другой ветки, чтобы в итоге обе разные ветки попали в один лог. К примеру я хочу добавить ещё эту ветку
Код: Выделить весь код
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
2. Как и где из реестра можно со 100% гарантией считать имя папки ...\System32\. Я слышал, что в ооочень редких случаях вместо system32 может быть что-либо другое.
Сразу оговорюсь, стандартные ветки, где находятся ключ userinit.exe и т.п, различные службы, чтобы по файлу svchost.exe узнать имя папки - отпадает, вирус может сохранить свой файл с таким же именем в другую папку.

%WinDir% - нам вернёт папку к каталогу Windows. Вариант с конкатенацией, не выход, потому что как уже упоминал, может быть что-то эксзотичное вместо System32
Код: Выделить весь код
%WinDir% + 'System32\'
Спасибо.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 21:31, 28-07-2010

 

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


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

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


Drongo,

Код: Выделить весь код
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
Параметр     : SystemDirectory 
Значение     : %SystemRoot%\system32
Тип          : REG_EXPAND_SZ
Код: Выделить весь код
echo off

set Rkey1="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion"
set Rkey2="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows"

for /f "tokens=2 delims==" %%a in ('set Rkey') Do ^
Reg Query "%%a" >> reg.log"
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:36, 28-07-2010 | #2



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

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


Аватара для Drongo

Будем жить, Маэстро...


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

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


1. Вопрос решён. Спасибо.

Можно ли расшифровку этого скрипта? Хочется понимать его работу.
Цитата deepred:
Код: Выделить весь код
echo off
set Rkey1="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion"
set Rkey2="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows"
for /f "tokens=2 delims==" %%a in ('set Rkey') Do ^
Reg Query "%%a" >> reg.log"
pause
»
Он в принципе работает, только только имена веток, без их параметров
Код: Выделить весь код
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder
...
...
...
И т.д.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 23:48, 28-07-2010 | #3


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


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

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


Drongo,

Цитата Drongo:
Он в принципе работает, только только имена веток, без их параметров »
да-да, моя ошибка... В коде при использовании команды REG QUERY следует
применить ключ /s (для вывода всех вложенных подразделов и их параметров)

Код: Выделить весь код
Echo off & Chcp 1251
Echo off - отключение вывода команд на экран консоли
Chcp 1251 - переключение на кодовую страницу ANSI - "кириллица"



set - установка в качестве переменных разделов реестра
Код: Выделить весь код
set Rkey1="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion"
set Rkey2="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows"


выполнение команды Reg Query для каждого аргумента входящего в набор
Код: Выделить весь код
for /f "tokens=2 delims==" %%a in ('set Rkey') Do ^
'set Rkey' возвращает все установленные переменные содержащие в имени "Rkey", но
возвращает она их в виде "Rkey2="HKEY_LOC..." и поэтому разделителем (delims) определяем
символ "=" и извлекаемой подстрокой (tokens) подстроку номер 2. Эта подстрока и будет
определена переменной %%a, которая и является аргументом (именем раздела) для REG QUERY.




Код: Выделить весь код
Reg Query "%%a" /s  >> reg.log
pause
>> reg.log - запись вывода команды REG QUERY в файл, причем каждый новый вывод дописывается
в конец файла.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:28, 29-07-2010 | #4


Аватара для Drongo

Будем жить, Маэстро...


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

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


deepred, Спасибо, вопрос решён. Если что будет неясно, я ещё спрошу.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 14:17, 29-07-2010 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как поменять путь к папке Мои документы? Bester Microsoft Windows 2000/XP 9 30-01-2012 18:20
CMD/BAT - Как можно задать в качестве переменной путь к папке? korenza Скриптовые языки администрирования Windows 5 02-06-2010 15:52
Как найти путь к сетевой папке? va1971no Хочу все знать 2 17-05-2010 09:22
Как сделать при создании пользователя путь папке профиля, через групповые политики ? zaqwsx_ Microsoft Windows NT/2000/2003 5 15-10-2009 12:39
как сменить путь к стандартной папке clop1000 Хочу все знать 6 05-01-2008 21:39




 
Переход