Czy otworzyć rejestr bezpośrednio na dany klucz?


56

Muszę otworzyć klucz rejestru, taki jak następujący w regedit.

HKLM\Software\Microsoft\Foo\Bar

Czy istnieje narzędzie, które będzie dla mnie nawigowało do klucza bez konieczności samodzielnego przeglądania folderów jeden po drugim?


1
Aby dodać moje 2 ¢, jakiś czas temu napisałem program do symulacji naciśnięć klawiszy, gdy zwykłe wklejanie nie było wystarczające. Dodałem specjalny tryb dla kluczy rejestru, który pozwala skopiować ścieżkę rejestru i nacisnąć klawisz skrótu w Regedit, aby automatycznie przejść do tej ścieżki. Później napisałem program, który przeprowadzałby konserwację rejestru i musiał zapewnić funkcję przeskakiwania do ścieżki. W końcu wykryłem, czy Regedit jest otwarty; jeśli tak, wysyła prawidłowe naciśnięcia klawiszy (skopiowałem funkcję ze starego programu), a jeśli nie, napisał do …Regedit\LastKeyi otworzył Regedit; Regedit skacze sam.
— Synetech

Możesz głosować w aplikacji Windows Feedback (na Win10) „Regedit powinien mieć funkcję paska adresu”. Poniższy link działa tylko w systemie Windows Win10 sprzężenia zwrotnego: contextid = 79 & feedbackid = b11f8bdf-eaf4-4799-8e65-5161924ad22c & form = 1 & src = 1
— Michael Freidgeim

2
Windows 10 zawiera teraz funkcję paska adresu w edytorze rejestru. Zobacz moją odpowiedź.
— Miscreant

Odpowiedzi:


64

Nie można tego zrobić przy użyciu regedit.exesamego siebie ani żadnego z parametrów wiersza poleceń.

Jednak Microsoft oferuje regjump.exemałe narzędzie (wcześniej z SysInternals), którego można użyć do otwarcia edytora rejestru na określony klucz.

Po zainstalowaniu możesz otworzyć określony klucz w następujący sposób:

regjump HKEY_LOCAL_MACHINE\Software\Microsoft\Windows

lub nawet używając skrótów:

regjump HKCU\Software\Microsoft\Windows

Dostępne skróty to:

HKCR - HKEY_CLASSES_ROOT
HKCU - HKEY_CURRENT_USER
HKLM - HKEY_LOCAL_MACHINE
HKU - HKEY_USERS
HKCC - HKEY_CURRENT_CONFIG

Działa świetnie z Launchy . :)
— Mateen Ulhaq

9
Wspaniały. Teraz, jeśli MS może dostarczyć narzędzie, dlaczego nie mogą po prostu zmodyfikować regedit, aby zezwolić na parametry wiersza poleceń? Przynajmniej win7 jeszcze tego nie ma ...
— BmyGuest

2
Należy pamiętać, że system Windows 10 wymaga uruchomienia regjump z uprawnieniami administratora do prawidłowego działania.
— Vladimir Reshetnikov

1
Użyj, regjump -caby otworzyć klucz ze schowka.
— xmedeko

Windows 10 zawiera teraz funkcję paska adresu w edytorze rejestru. Zobacz moją odpowiedź.
— Miscreant

13

Możesz to zrobić, tworząc prosty VBScript na pulpicie, bez instalowania dodatkowego oprogramowania.

Skrypt po prostu ustawia klucz „ostatnio używany” w rejestrze, a następnie otwiera go.

Otwórz Notatnik, włóż do niego i zapisz jako FooBar.vbsna przykład:

Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Lastkey","HKLM\Software\Microsoft\Foo\Bar","REG_SZ"
WshShell.Run "regedit", 1,True
Set WshShell = Nothing

We właściwościach pliku .vbs można powiedzieć, aby nie wyświetlał czarnej skrzynki podczas uruchamiania skryptu, aby był nieco bardziej uporządkowany.

Jeśli chcesz być fantazyjny, możesz zapisać skrypt .vbs w innym miejscu i utworzyć na nim skrót na pulpicie. Będziesz wtedy mógł zmienić ikonę i niech wygląda ładnie (jeśli naprawdę tego chcesz).

EDYCJA - Jeśli chcesz być pytany o klucz, który chcesz otworzyć za każdym razem, oto, czego byś użył zamiast tego:

Set WshShell = CreateObject("WScript.Shell")
Dim JumpToKey
JumpToKey=Inputbox("Which registry key would you like to open?")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Lastkey",JumpToKey,"REG_SZ"
WshShell.Run "regedit", 1,True
Set WshShell = Nothing

Zmiana klucza do otwarcia wymagałaby każdorazowej edycji skryptu, chyba że dostarczono go jako argument wiersza poleceń. Ładne rozwiązanie, bardzo przydatne.
— mindless.panda

Cóż, podoba mi się ten jako rozwiązanie, ponieważ jest rozszerzalny i uczy podstawowych skryptów. Zakładam, że używasz pola wprowadzania, ponieważ uruchomienie skryptu za pomocą wiersza polecenia wymaga wywołania go za pośrednictwem hosta skryptu? A więc po prostu zrobienie czegoś takiego jak „skrypt / klucz / foo / bar” nie jest łatwym zadaniem dla skryptu w wierszu poleceń?
— bezmyślny.panda

Usunąłem moje komentarze. Spróbuj obu i przekonaj się, który jest najłatwiejszy :-)
— Kez

11

Windows 10 zawiera teraz funkcję paska adresu w Edytorze rejestru:

Funkcja paska adresu Edytora rejestru

Więc po prostu wpisz lub wklej ścieżkę w pasku adresu i naciśnij Enter.


Z paskiem adresu działają następujące skróty:

HKCR - HKEY_CLASSES_ROOT
HKCU - HKEY_CURRENT_USER
HKLM - HKEY_LOCAL_MACHINE
HKU - HKEY_USERS

HKCC - HKEY_CURRENT_CONFIGSkrót więc nie działa (przynajmniej od tej daty).


Możesz aktywować pasek adresu, naciskając Ctrl+Llub Alt+D, tak jak w Eksploratorze Windows.


Mam system Windows 10 i nie mam tego paska adresu. Dwa skróty nie działają.
— WORMSS,

@ WORMSS To dziwne. Sprawdź, czy masz Address Barwpis w Viewmenu Edytora rejestru.
— Miscreant,

Sprawdziłem, nie, muszę albo (1) mieć starą wersję RegEdit, albo (2) jest gdzieś druga wersja na komputerze, ale nie na% PATH%, sprawdziłem mój domowy komputer z Win10 Dom ma już pasek adresu. Komputer roboczy z systemem Win10Pro ma klasyczny RegEdit. No cóż, przynajmniej teraz wiem.
— WORMSS,

@ WORMSS Może Microsoft dodał pasek adresu w Aktualizacji twórcy.
— Miscreant,

być może CU psuje jakieś oprogramowanie w pracy, więc nie mamy go tam ... Nie mam pojęcia, czy mój komputer ma go w domu .. Nigdy nie zawracałem sobie głowy szukaniem .. Dziękuję za pomoc.
— WORMSS,

6

Skopiuj poniższy tekst i zapisz go jako plik wsadowy i uruchom

@ECHO OFF & setlocal
SET /P "showkey=Please enter the path of the registry key: "
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v "LastKey" /d "%showkey%" /f 
start "" regedit

Wprowadź ścieżkę do klucza rejestru, który chcesz otworzyć, gdy plik wsadowy wyświetli monit o jego podanie, i naciśnij Enter, aby móc otworzyć regedit z wymaganą ścieżką klucza rejestru.


Musiałem usunąć, @ECHO OFF<br>aby działało na Windows 8
— steampowered

4

W RegEdit masz możliwość dodawania zakładek do ścieżek.

Z górnego menu wybierz

Favorites Add to Favorites


Po dodaniu zakładek do ulubionych wykonaj kopię zapasową klucza rejestru, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favoritesaby można było łatwo przywrócić na nowym komputerze, aby ponownie mieć wszystkie ulubione.
— James L.

3

Cały czas używam potężnego programu makr ( QWin ), głównie do pisania często używanych rzeczy. QMenu ma również możliwość uruchamiania aplikacji.

Kiedy powiedziałem autorowi, Gary'emu Chansonowi, o regjump i zapytałem, czy możliwe jest przekazanie zawartości schowka jako argumentu polecenia, zaktualizował go, aby umożliwić przekazywanie zawartości bufora schowka jako zmiennej, co oznacza;

Kiedy teraz kopiuję dowolny klawisz do schowka, wystarczy nacisnąć klawisz QMenu i wpisać „J”, aby przejść bezpośrednio do tego klawisza w Regedit.

Jednakże, chociaż powyższe działa w XP, w Win7 / 8 QMenu nie działa z powodu ograniczeń systemu operacyjnego w uruchamianiu plików wykonywalnych. Chociaż działałoby to, ustawiając qMenu jako „RUN as admin”, co wymagało zatwierdzenia każdego makra klawiatury, które wywołałem. Rozwiązanie? Ustaw QMenu w pozycji RUN na skrót do RegJump i ustaw skrót na „RUN jako admin. (Możesz przekazać argument do skrótu, który przekaże go do programu, który uruchamia)

Jeśli QMenu brzmi interesująco, mam stronę o korzystaniu z niego na bevhoward.com/WinTools.htm

Zauważ, że od wielu lat używam narzędzi Gary'ego, różne programy AV oznaczyły niektóre pliki jako zainfekowane ... w przypadku zaktualizowanego QMenu zostało oznaczone przez Avast, ale problem powinien zostać rozwiązany za pomocą ich następna aktualizacja.

Mam nadzieję, że ta informacja jest cenna. Beverly Howard


Witamy w Super User! To świetna odpowiedź, ale czy miałbyś coś przeciwko dodaniu niektórych informacji na stronie, do której linkujesz? Wszystko jest w porządku, ale najlepiej, jeśli jest tutaj - w ten sposób, jeśli strona się zepsuje lub zmieni, odpowiedź na pytanie jest nadal dostępna. :)
— Thor


2

Mam zestaw usług reprezentujących różne przypadki odrobiny własnego oprogramowania; wszystkie nazwy usług zaczynają się od nazwy oprogramowania, po której następują pewne szczegóły specyficzne dla instancji.

ProgramName_Detail1A_Detail1B
ProgramName_Detail2A_Detail2B

Opisy są często aktualizowane, ponieważ zamierzone użycie każdej instancji zmienia się z czasem, ale opis można zmienić tylko w rejestrze. Mając to na uwadze, poniższy kod .BAT znajduje pierwszą usługę „ProgramName *” i otwiera regedit z tą pierwszą usługą już wybraną. (Moje nazwy usług nie zawierają spacji; jeśli twoje, to będzie konieczne dostosowanie).

@echo off
setlocal

set __first=
for /f "tokens=5 delims=\" %%i in ('reg query HKLM\system\currentcontrolset\services /f ProgramName*') do call :findfirst %%i

if "%__first%" == "" (
  echo No ProgramName entries found in registry. Aborting...
  pause
  goto :EOF
)

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit /v LastKey /d Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\%__first% /f

start regedit

goto :EOF

:findfirst
if "%__first%" == "" set __first=%1

goto :EOF

1

Nie można tego zrobić za pomocą standardowego edytora rejestru.

Jednak Microsoft / Sysinternals ma narzędzie o nazwie Regjump, które robi dokładnie to, czego potrzebujesz - uruchamiając w odpowiednim miejscu w edytorze rejestru.


1

Jedną rzeczą, którą możesz rozważyć, jeśli używasz Regjump, jest skonfigurowanie zmiennej środowiskowej, na przykład REGJUMP = C: \ ścieżka \ do \ regjump.exe. Następnie możesz użyć Regjump z pola „Rozpocznij wyszukiwanie”, powiedzmy w menu Start systemu Windows Vista:

wpisując% REGJUMP% w polu Rozpocznij wyszukiwanie

[Być może trzeba będzie przejść do lokalizacji regjump.exe i ustawić regjump.exe, aby mieć poziom uprawnień „Uruchom ten program jako administrator” na karcie Właściwości-> Zgodność. Zapewni to prawidłowe działanie Regjump na komputerach z kontrolą konta użytkownika].


Lub dodaj cały pakiet Sysinternals do ścieżki. Z mojego doświadczenia świetny pomysł.
— usr

1

Dzięki Autohotkey plus regjump możesz zdefiniować skrót klawiaturowy, aby przejść do ścieżki klucza w schowku. Przykład:

^!+k::
  Run path\regjump.exe %clipboard%
  return

Zauważ, że w Win7 musisz ustawić „Uruchom to jako administrator” we właściwościach Compatibilty regjump.exe


1

Najprostszym sposobem jest użycie oprogramowania innej firmy. Najbardziej skutecznym jest zworka na klucze rejestru i jest to przenośny darmowy program.

Najciekawsze jest to, że nie musisz kopiować klucza rejestru: po prostu wybierz go i użyj CtrlAltX, a następnie ilokalizacja klucza rejestru zostanie otwarta automatycznie. Jeśli zaznaczysz ei wpiszesz tekst, jeśli w środku jest klucz rejestru, zworka klucza rejestru może automatycznie wyeliminować tekst i otworzy lokalizację klucza.


1

Ten plik wsadowy działa dla mnie w systemie Windows 8, jeśli regedit zostanie zamknięty podczas działania pliku wsadowego.

showkey=Please enter the path of the registry key:
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v "LastKey" /d "%showkey%" /f 
start regedit

1

Jeśli musisz go często używać, warto ułatwić - możesz połączyć RegJump i Notepad ++, aby przejść do lokalizacji rejestru po wybraniu ścieżki reg w tekście.

Pobierz regjump , rozpakuj w bezpieczną lokalizację, utwórz plik wsadowy:

C: \ [... ścieżka do pliku regjump.exe ...] \ regjump.exe% 1

Oto jak to osiągnąć:

  1. Zainstaluj NppExec za pośrednictwem wtyczek, Plugin Manager.
  2. Następnie w NPP - kliknij F6 (menu NPP: Wtyczki / NPP Wykonaj / Wykonaj) dodaj / zapisz następujące: (jeśli wywołasz regjump.exe bezpośrednio, będzie flashować, ale nie otworzy rejestru ..., możesz spróbować go nazwać za pomocą cmd z przełącznikami)
C: \ [... ścieżka do pliku wsadowego ...] \ regjump.bat "$ (CURRENT_WORD)"
  1. Zapisz skrypt, wpisz nazwę „RegJump”
  2. otwórz Wtyczki / NPP Exec / Opcje zaawansowane ...
  3. w lewym dolnym rogu pod rozwijanym „Powiązanym skryptem” wybierz „RegJump do”
  4. kliknij przycisk „Dodaj / zmień”
  5. zaznacz w górnej części pozycji menu „Podmenu Makra”
  6. kliknij „OK”, aby zamknąć okno „Opcje zaawansowane NPPExec”

użycie : jeśli masz otwarty tekst w Notepad ++, który zawiera ścieżkę rejestru, wybierz tę ścieżkę rejestru i kliknij Menu: „Makro / RegJump do” - powinien otworzyć rejestr w wymaganej lokalizacji, jeśli ścieżka jest poprawna. jeśli ścieżka jest nieprawidłowa, otworzy rejestr w najbliższej ścieżce nadrzędnej.

regjump obsługuje również skróty: HKLM \ Software \ Microsoft

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.