Aprire il registro direttamente su una determinata chiave?


57

Devo aprire una chiave di registro come la seguente in regedit.

HKLM\Software\Microsoft\Foo\Bar

Esiste uno strumento che può accedere alla chiave per me, senza che io debba navigare da solo le cartelle una per una?


1
Per aggiungere il mio 2 ¢, qualche tempo fa, ho scritto un programma per simulare la pressione dei tasti quando l'incollaggio regolare non era sufficiente. Ho aggiunto una modalità speciale per le chiavi del Registro di sistema per consentire di copiare un percorso del registro e premere il tasto di scelta rapida mentre si è in Regedit per farlo navigare automaticamente verso quel percorso. Più tardi, ho scritto un programma che avrebbe fatto un po 'di manutenzione del registro e necessario per fornire una funzione jump-to-path. Ho finito per far rilevare se Regedit è aperto; in tal caso invia i tasti giusti (ho copiato la funzione dal vecchio programma) e, in caso contrario, ha scritto …Regedit\LastKeye aperto Regedit; Regedit si salta da solo.
Synetech,

Puoi votare nell'app Windows Feedback (su Win10) "Regedit dovrebbe avere la funzionalità della barra degli indirizzi". Il seguente link funzionerà solo con Windows 10 feedback:? Contextid = 79 & feedbackid = b11f8bdf-eaf4-4799-8e65-5161924ad22c & form = 1 & src = 1
Michael Freidgeim

2
Windows 10 ora include la funzionalità della barra degli indirizzi nell'editor del registro. Vedi la mia risposta
Miscreant,

Risposte:


64

Questo non può essere fatto usando regedit.exese stesso o nessuno dei suoi parametri della riga di comando.

Tuttavia, Microsoft offre regjump.exeuna piccola utility (precedentemente di SysInternals) che può essere utilizzata per aprire l'editor del registro su una chiave specificata.

Una volta installato, puoi aprire la chiave specificata in questo modo:

regjump HKEY_LOCAL_MACHINE\Software\Microsoft\Windows

o anche usando abbreviazioni:

regjump HKCU\Software\Microsoft\Windows

Le abbreviazioni disponibili sono:

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

Funziona alla grande con Launchy . :)
Mateen Ulhaq,

9
Grande. Ora, se MS può fornire lo strumento, perché non possono semplicemente modificare regedit per consentire i parametri della riga di comando? Almeno win7 non ha ancora questo ...
BmyGuest,

2
Nota che Windows 10 richiede l'avvio di regjump con privilegi di amministratore per funzionare correttamente.
Vladimir Reshetnikov,

1
Utilizzare regjump -cper aprire la chiave dagli Appunti.
xmedeko,

Windows 10 ora include la funzionalità della barra degli indirizzi nell'editor del registro. Vedi la mia risposta
Miscreant,

13

Puoi farlo creando un semplice VBScript sul desktop, senza installare alcun software aggiuntivo.

Lo script imposta semplicemente la chiave "last used" nel registro, prima di aprirla.

Apri Blocco note, inseriscilo e salvalo come FooBar.vbsad esempio:

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

Nelle proprietà del file .vbs puoi dire di non far apparire una scatola nera mentre sta eseguendo lo script, per renderlo un po 'più ordinato.

Se vuoi essere sofisticato, puoi salvare lo script .vbs da qualche altra parte e creare un collegamento sul desktop. Saresti quindi in grado di cambiare l'icona e potrebbe sembrare carina (se lo desideri davvero).

MODIFICA - Se vuoi che ti venga chiesto quale chiave vuoi aprire ogni volta, ecco cosa useresti invece:

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

La modifica della chiave da aprire richiederebbe ogni volta la modifica dello script, a meno che non sia stato fornito come argomento della riga di comando. Bella soluzione però, molto utile.
mindless.panda,

Bene, mi piace questo come soluzione perché è estensibile e insegna alcuni script di base. Suppongo che tu usi una casella di input perché l'esecuzione di uno script dalla riga di comando richiede di invocarlo tramite l'host di script? E quindi semplicemente fare qualcosa come "script / key / foo / bar" non è semplice per uno script sulla riga di comando?
mindless.panda,

Ho cancellato i miei commenti. Prova entrambi e vedi quale è il più semplice :-)
Kez

12

Windows 10 ora include la funzionalità della barra degli indirizzi nell'Editor del Registro di sistema:

Funzionalità della barra degli indirizzi dell'Editor del Registro di sistema

Quindi digita o incolla il percorso nella barra degli indirizzi e premi Invio.


Le seguenti abbreviazioni funzionano con la barra degli indirizzi:

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

Quindi l' HKCC - HKEY_CURRENT_CONFIGabbreviazione non funziona (almeno a partire da questa data).


È possibile attivare la barra degli indirizzi premendo Ctrl+Lo Alt+D, proprio come in Esplora risorse.


Ho Windows 10 e non ho questa barra degli indirizzi. E le due scorciatoie non funzionano.
WORMSS

@WORMSS È strano. Verifica se hai una Address Barvoce nel Viewmenu dell'Editor del Registro di sistema.
Miscreant

Avevo verificato, No, devo (1) avere una vecchia versione di RegEdit o (2) ce n'è una seconda versione sulla macchina da qualche parte ma non sul% PATH%, ho controllato il mio PC di casa con Win10 Home ha già la barra degli indirizzi. PC di lavoro con Win10Pro ha RegEdit classico. Oh bene, almeno adesso lo so.
WORMSS,

@WORMSS Forse Microsoft ha aggiunto la barra degli indirizzi nell'Aggiornamento del Creatore.
Miscreant

forse, CU rompe alcuni software al lavoro, quindi non li abbiamo lì ... Non ho idea se il mio PC di casa ce l'ha .. Non si è mai preso la briga di guardare .. Grazie per l'aiuto.
WORMSS,

6

Copia il testo seguente e salvalo come file batch ed eseguilo

@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

Immettere il percorso della chiave di registro che si desidera aprire quando richiesto dal file batch e premere Entere si sarebbe in grado di aprire regedit con il percorso della chiave di registro richiesto.


Ho dovuto rimuovere il @ECHO OFF<br>per farlo funzionare su Windows 8
vapore il

4

In RegEdit hai la possibilità di aggiungere segnalibri ai percorsi.

Dal menu in alto scegliere

Favorites Add to Favorites


Dopo aver aggiunto i preferiti ai preferiti, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favoriteseseguire il backup della chiave di registro in modo da poter ripristinare facilmente su un nuovo computer e avere nuovamente tutti i preferiti.
James L.

3

Uso sempre un potente programma macro ( QWin ), principalmente per digitare cose usate di frequente. QMenu ha anche la possibilità di eseguire le applicazioni.

Quando ho detto all'autore, Gary Chanson, di regjump e ho chiesto se fosse possibile passare il contenuto degli appunti come argomento di comando, lo ha aggiornato per consentire il passaggio del contenuto del buffer degli appunti come variabile, il che significa;

Quando ora copio qualsiasi chiave negli Appunti, tutto ciò che devo fare è premere il tasto per QMenu e digitare "J" per andare direttamente a quel tasto in Regedit.

Tuttavia, mentre quanto sopra funziona in XP, in Win7 / 8 QMenu fallisce a causa delle restrizioni del sistema operativo per l'esecuzione di eseguibili. Mentre funzionerebbe impostando qMenu su "RUN as admin" che ha richiesto l'approvazione di ogni macro della tastiera che ho chiamato. Soluzione? Imposta QMenu su RUN un collegamento per RegJump e imposta il collegamento su "RUN as admin. (Puoi passare un argomento a un collegamento che lo passerà al programma che avvia)

Se QMenu sembra interessante, ho una pagina su come usarlo su bevhoward.com/WinTools.htm

Nota, mentre uso gli strumenti di Gary da molti anni, diversi programmi AV hanno segnalato alcuni dei file come infetti ... nel caso del QMenu aggiornato, è stato segnalato da Avast, ma il problema dovrebbe essere risolto con il loro prossimo aggiornamento.

Spero che queste informazioni siano utili. Beverly Howard


Benvenuto in Super User! È un'ottima risposta, ma ti dispiacerebbe aggiungere alcune delle informazioni che hai sulla pagina a cui ti sei collegato? Va tutto bene, ma è meglio se è qui - in questo modo, se il tuo sito dovesse andare giù o cambiare, la risposta alla domanda è ancora disponibile. :)
Thor,


2

Ho una serie di servizi che rappresentano diverse istanze di un po 'di software locale; i nomi dei servizi iniziano tutti con il nome del software, seguito da alcuni dettagli specifici dell'istanza.

ProgramName_Detail1A_Detail1B
ProgramName_Detail2A_Detail2B

Le descrizioni vengono frequentemente aggiornate poiché l'uso previsto di ciascuna istanza cambierà nel tempo, ma la descrizione può essere modificata solo nel registro. Tenendo presente ciò, il seguente codice .BAT trova il primo servizio "ProgramName *" e apre regedit con quel primo servizio già selezionato. (I nomi dei miei servizi non contengono spazi; in caso contrario, saranno necessari alcuni adattamenti.)

@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

Non c'è modo di farlo con l'editor di registro standard da solo.

Tuttavia, Microsoft / Sysinternals hanno uno strumento chiamato Regjump che fa esattamente ciò di cui hai bisogno, avviandolo nella posizione corretta nell'editor del registro.


1

Una cosa che potresti considerare di fare se usi Regjump è impostare una variabile d'ambiente, ad esempio REGJUMP = C: \ path \ to \ regjump.exe. Quindi è possibile utilizzare Regjump dalla casella 'Avvia ricerca', ad esempio nel menu Start di Windows Vista:

digitando% REGJUMP% nella casella Inizia ricerca

[Potrebbe essere necessario accedere alla posizione di regjump.exe e impostare regjump.exe in modo che il livello di privilegio "Esegui questo programma come amministratore" nella scheda Proprietà-> Compatibilità. Ciò assicurerà che Regjump funzioni correttamente su computer che eseguono il controllo dell'account utente].


In alternativa, aggiungi l'intera Suite Sysinternals al percorso. Nella mia esperienza un'ottima idea.
usr

1

Con Autohotkey plus regjump , è possibile definire una scorciatoia da tastiera per passare a un percorso chiave negli Appunti. Esempio:

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

Si noti che per Win7 è necessario impostare "Esegui come amministratore" nelle proprietà di compatibilità di regjump.exe


1

Il modo più semplice è utilizzare software di terze parti. Il più efficace è il jumper della chiave di registro ed è un freeware portatile.

La parte più interessante è che non è necessario copiare una chiave di registro: basta selezionarla e utilizzare CtrlAltX, quindi la iposizione della chiave di registro verrà aperta automaticamente. Se selezioni ee digiti del testo, se all'interno è presente una chiave di registro, il jumper della chiave di registro può eliminare automaticamente il testo e aprirà la posizione della chiave.


1

Questo file batch funziona per me su Windows 8 se regedit viene chiuso durante l'esecuzione del file batch.

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

Se devi usarlo molto, è logico renderlo più semplice: puoi combinare RegJump e Notepad ++ per andare alla posizione del registro dopo aver selezionato il percorso del registro nel testo.

Scarica regjump , decomprimilo nella posizione sicura, crea un file batch:

C: \ [... percorso al tuo regjump.exe ...] \ regjump.exe% 1

Ecco come raggiungere questo obiettivo:

  1. Installa NppExec tramite Plugin, Plugin Manager.
  2. Quindi in NPP - fai clic su F6 (menu NPP: Plugin / NPP Exec / Execute) aggiungi / salva quanto segue: (se chiami direttamente regjump.exe, lampeggerà, ma non aprirai il registro ..., puoi provare a chiamarlo utilizzando cmd con switch)
C: \ [... percorso al file batch ...] \ regjump.bat "$ (CURRENT_WORD)"
  1. Salva script, inserisci il nome "RegJump in"
  2. apri Plugin / NPP Exec / Opzioni avanzate ...
  3. in basso a sinistra sotto il menu a discesa "Script associato" seleziona "RegJump to"
  4. fai clic sul pulsante "Aggiungi / Modifica"
  5. controlla sotto le voci di menu 'Posiziona nel sottomenu Macro'
  6. fare clic su "OK" per chiudere la finestra "Opzioni avanzate NPPExec"

utilizzo : se si dispone di testo aperto in Notepad ++ che contiene il percorso del registro, selezionare questo percorso del registro e fare clic su Menu: "Macro / RegJump a" - dovrebbe aprire il registro nella posizione necessaria, se il percorso è corretto. se il percorso non è corretto, aprirà il registro nel percorso principale più vicino.

regjump supporta anche chiavi abbreviate: HKLM \ Software \ Microsoft

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.