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?

lanca
źródło
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
bezmyślna panda
źródło
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
Kez
źródło
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.

Niegodziwiec
źródło
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.

Anuresh Kothari
źródło
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

Ak.
źródło
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

użytkownik285425
źródło
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
DaddyBeanDaddyBean
źródło
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.

William Hilsum
źródło
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].

Andrew Wyatt
źródło
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

Chris Noe
źródło
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.

Ktoś
źródło
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
steampowered
źródło
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

Sasha Bond
źródło