PDA

Показать полную графическую версию : [решено] Внесение в реестр данных через BAT файл


Страниц : 1 [2]

juk_777
07-12-2020, 10:49
Vadikan,
Для примера что-то не сложно показать?

Vadikan
07-12-2020, 11:13
juk_777, я показал - выполните команду и увидите примеры.

YuS_2
07-12-2020, 11:16
что-то не сложно показать? »
Ну, хоть немного самостоятельных усилий приложить сложно?
Хотя бы запустите ту команду, которая предложена, там есть примеры... раз уж ни гугл, ни яндекс недоступны...

Iska
07-12-2020, 14:38
как с помощью CMD/BAT просто открыть нужную ветвь реестра? »
Именно открыть потребный раздел реестра можно, например, посредством regjump.exe из комплекта SysInternals: RegJump - Windows Sysinternals | Microsoft Docs (https://docs.microsoft.com/en-us/sysinternals/downloads/regjump).

alpap
07-12-2020, 14:51
Именно открыть потребный раздел реестра
также и nircmd (https://www.nirsoft.net/utils/nircmd.html) поможет это сделать:

nircmd.exe regedit "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"

juk_777
07-12-2020, 18:29
Ну вот к примеру мне надо зайти в
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
Как выглядит содержимое .bat файла?

juk_777
07-12-2020, 18:45
alpap,
Спасибо - то, что надо...

Vadikan
08-12-2020, 17:38
Короче, открыть - это значит перейти в редакторе реестра.
Это можно и без сторонних утилит, фокусу 100 лет, потому что в реестре сохраняется последний открытый раздел.

Скрипт PowerShell на коленке
param(
$Lastkey=""
)

$regedit = Get-Process regedit -ErrorAction SilentlyContinue
if ($regedit) {
$regedit.CloseMainWindow()
Start-Sleep -Milliseconds 100
if (!$regedit.HasExited) {
$regedit | Stop-Process -Force
}
}

Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" -Name Lastkey -Value $Lastkey -Type String -Force
Start-Process regedit
Remove-Variable regedit


Пример запуска
.\lastkey.ps1 -Lastkey "HKEY_CURRENT_USER\Keyboard Layout\Preload"

Iska
08-12-2020, 18:45
Vadikan, нещщитово — нет запоминания предыдущего значения, ожидания закрытия и восстановления предыдущего значения :).

Но, можно оставить сие для реализации в качестве самостоятельного упражнения :lol:.

Vadikan
08-12-2020, 19:07
Iska, в принципе, даже аккуратное закрытие регедит не нужно, в т.ч. запоминание предыдущего значения Lastkey. Потому что нашей целью все равно является запись своего значения туда и запуск регедит, т.е. его можно безжалостно убивать перед этим.

Iska
08-12-2020, 20:37
Vadikan, я имею в виду, что по-хорошему нужно (после того, как мы запустили редактор реестра) — дождаться его закрытия и вернуть предыдущее значение параметра Lastkey.

Vadikan
08-12-2020, 21:28
Iska, зачем вносить предыдущее значение параметра? Ведь нормальное поведение регедит - сохранять последний раздел. Что он и сделает, когда пользователь закроет приложение [после открытия его скриптом].

Iska
08-12-2020, 21:54
Vadikan, Ваша мысль понятна и в данном случае вполне имеет право на жизнь. Это я перфекционист :).




© OSzone.net 2001-2012