Ouvrir le registre directement à une clé donnée?

57

Je dois ouvrir une clé de registre telle que celle-ci dans regedit.

HKLM\Software\Microsoft\Foo\Bar

Existe-t-il un outil qui me permet d'accéder à la clé sans avoir à parcourir les dossiers un par un?

lance
la source
1
Pour ajouter mes 2 ¢, il y a quelque temps, j’ai écrit un programme simulant les appuis sur les touches lorsque le collage normal n’était pas suffisant. J'ai ajouté un mode spécial pour les clés de registre afin de vous permettre de copier un chemin de registre et d'appuyer sur la touche de raccourci lorsque vous êtes dans Regedit pour le faire naviguer automatiquement vers ce chemin. Plus tard, j'ai écrit un programme qui ferait un peu de maintenance du registre et devait fournir une fonction de chemin d'accès direct. J'ai fini par le faire détecter si Regedit est ouvert; si c'est le cas, il envoie les touches de droite (j'ai copié la fonction de l'ancien programme), sinon, il a écrit à …Regedit\LastKeyRegedit et a ouvert Regedit; Regedit saute tout seul.
Synetech
Vous pouvez voter dans l'application Windows Feedback (sous Win10) "Regedit devrait avoir la fonctionnalité de barre d'adresse". Le lien suivant ne fonctionnera que dans Win10 windows-feedback:? Contextid = 79 & feedbackid = b11f8bdf-eaf4-4799-8e65-5161924ad22c & form = 1 & src = 1
Michael Freidgeim
2
Windows 10 inclut désormais la fonctionnalité de barre d'adresse dans l'éditeur de registre. Voir ma réponse.
Miscreant

Réponses:

64

Cela ne peut pas être fait en utilisant regedit.exelui-même ou l'un de ses paramètres de ligne de commande.

Cependant, Microsoft propose regjump.exeun petit utilitaire (auparavant de SysInternals) qui peut être utilisé pour ouvrir l’éditeur de registre à une clé spécifiée.

Une fois que vous installez ceci, vous pouvez ouvrir la clé spécifiée comme ceci:

regjump HKEY_LOCAL_MACHINE\Software\Microsoft\Windows

ou même en utilisant des abréviations:

regjump HKCU\Software\Microsoft\Windows

Les abréviations disponibles sont:

HKCR - HKEY_CLASSES_ROOT
HKCU - HKEY_CURRENT_USER
HKLM - HKEY_LOCAL_MACHINE
HKU - HKEY_USERS
HKCC - HKEY_CURRENT_CONFIG
mindless.panda
la source
Fonctionne très bien avec Launchy . :)
Mateen Ulhaq
9
Génial. Maintenant, si MS peut fournir l'outil, pourquoi ne peuvent-ils pas simplement modifier regedit pour autoriser les paramètres de ligne de commande? Au moins, win7 n'a pas encore cela ...
BmyGuest
2
Notez que Windows 10 nécessite que regjump soit démarré avec des privilèges d’administration pour fonctionner correctement.
Vladimir Reshetnikov
1
Utilisez regjump -cpour ouvrir la clé du presse-papiers.
xmedeko
Windows 10 inclut désormais la fonctionnalité de barre d'adresse dans l'éditeur de registre. Voir ma réponse.
Miscreant
13

Vous pouvez le faire en créant un simple VBScript sur votre bureau, sans installer de logiciel supplémentaire.

Le script définit simplement la "dernière clé utilisée" dans le registre, avant de l'ouvrir ensuite.

Ouvrez le Bloc-notes, collez-le dessus et enregistrez-le comme FooBar.vbssuit:

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

Dans les propriétés du fichier .vbs, vous pouvez lui indiquer de ne pas afficher une boîte noire lors de l'exécution du script, afin de le rendre un peu plus ordonné.

Si vous voulez être chic, vous pouvez enregistrer le script .vbs ailleurs et créer un raccourci sur votre bureau. Vous pourrez alors changer l'icône et lui donner une belle apparence (si vous le souhaitez vraiment).

EDIT - Si vous vouliez savoir quelle touche vous voulez ouvrir à chaque fois, voici ce que vous utiliseriez à la place:

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
la source
Changer la clé à ouvrir nécessiterait l'édition du script à chaque fois, à moins qu'il ne soit fourni en tant qu'argument de ligne de commande. Belle solution cependant, très utile.
mindless.panda
Bien, j'aime bien celle-ci comme solution car elle est extensible et enseigne quelques scripts de base. Je suppose que vous utilisez une zone de saisie car l'exécution d'un script via la ligne de commande nécessite de l'invoquer via l'hôte de script? Et si simplement faire quelque chose comme "script / clé / foo / bar" n'est pas direct pour un script sur la ligne de commande?
mindless.panda
J'ai supprimé mes commentaires. Essayez les deux et voyez ce qui est le plus facile :-)
Kez
12

Windows 10 inclut désormais la fonctionnalité de barre d'adresse dans l'éditeur de registre:

Fonctionnalité de la barre d'adresse de l'éditeur de registre

Il suffit donc de taper ou de coller le chemin dans la barre d’adresse et d’appuyer sur Entrée.


Les abréviations suivantes fonctionnent avec la barre d’adresse:

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

Donc, l' HKCC - HKEY_CURRENT_CONFIGabréviation ne fonctionne pas (du moins à compter de cette date).


Vous pouvez activer la barre d'adresse en appuyant sur Ctrl+Lou Alt+D, comme dans l'Explorateur Windows.

Scélérat
la source
J'ai Windows 10 et je n'ai pas cette barre d'adresse. Et les deux raccourcis ne fonctionnent pas.
WORMSS
@ WORMSS C'est bizarre. Voyez si vous avez une Address Barentrée dans le Viewmenu de l'éditeur de registre.
Miscreant
J'avais vérifié, non, je dois soit (1) avoir une ancienne version de RegEdit ou (2) il existe une deuxième version de celle-ci quelque part sur la machine mais pas sur le% PATH%, j'ai vérifié mon PC sous Win10. La maison a déjà la barre d'adresse. PC de travail exécutant Win10Pro a RegEdit classique. Oh bien, au moins maintenant je sais.
WORMSS
@WORMSS Peut-être que Microsoft a ajouté la barre d'adresse dans la mise à jour du créateur.
Miscreant
peut-être que CU casse un logiciel au travail, nous ne l’avons donc pas là ... Je ne sais pas si mon PC à la maison l’a. Jamais pris la peine de regarder .. Merci de votre aide.
WORMSS
6

Copiez le texte ci-dessous et enregistrez-le en tant que fichier de commandes et exécutez-le.

@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

Entrez le chemin de la clé de registre que vous souhaitez ouvrir lorsque le fichier de commandes Entervous le demandera et que vous pourrez appuyer sur pour pouvoir ouvrir regedit avec le chemin de clé de registre requis.

Anuresh Kothari
la source
J'ai dû retirer le @ECHO OFF<br>pour le faire fonctionner sur les fenêtres 8
steampowered
4

Dans RegEdit, vous avez la possibilité de marquer des chemins d'accès.

Dans le menu du haut, choisissez

Favorites Add to Favorites

Ak.
la source
Une fois que vous avez ajouté vos favoris à vos favoris, sauvegardez la clé de registre HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favoritesafin de pouvoir facilement les restaurer sur un nouvel ordinateur.
James L.
3

J'utilise un programme de macro puissant ( QWin ) tout le temps, principalement pour taper des choses fréquemment utilisées. QMenu a également la capacité d'exécuter des applications.

Lorsque j'ai informé l'auteur, Gary Chanson, à propos de regjump et qu'il me serait possible de transmettre le contenu du presse-papiers en tant qu'argument de commande, il l'a mis à jour pour lui permettre de transmettre le contenu du tampon du presse-papiers sous forme de variable, ce qui signifie;

Lorsque je copie maintenant une clé dans le presse-papiers, tout ce que je dois faire est d'appuyer sur le kotkey de QMenu et de taper "J" pour accéder directement à cette clé dans Regedit.

Cependant, alors que cela fonctionne sous XP, dans Win7 / 8, QMenu échoue à cause des restrictions imposées par le système d'exploitation à l'exécution de fichiers exécutables. Alors que cela fonctionnerait en configurant qMenu comme "RUN en tant qu'administrateur", cela nécessitait l'approbation de chaque macro de clavier que j'ai appelée. Solution? Configurez QMenu pour exécuter un raccourci pour RegJump, et définissez le raccourci sur "Exécuter en tant qu'administrateur. Vous pouvez passer un argument à un raccourci qui le transmettra au programme qu'il lance."

Si QMenu semble intéressant, j'ai une page sur son utilisation à bevhoward.com/WinTools.htm

Remarque: bien que j'utilise les outils de Gary depuis de nombreuses années, différents programmes audiovisuels ont signalé que certains fichiers étaient infectés. Dans le cas de la mise à jour du QMenu, Avast l'a signalé, mais le problème doit être résolu avec leur prochaine mise à jour.

J'espère que cette information est de valeur. Beverly Howard

utilisateur285425
la source
Bienvenue sur Super User! C'est une excellente réponse, mais cela vous dérangerait-il d'ajouter certaines des informations que vous avez sur la page à laquelle vous êtes lié? C'est tout bon et tout, mais c'est mieux si c'est ici - de cette façon, si votre site tombe en panne ou change, la réponse à la question est toujours disponible. :)
Thor
2

Nircmd aussi peut le faire.

http://www.nirsoft.net/utils/nircmd.html

 Open the desired Registry key/value in RegEdit
 nircmd.exe regedit "HKLM\Software\Microsoft\Windows\CurrentVersion" "CommonFilesDir"

 Open the Registry key that you copied to the clipboard in RegEdit
 nircmd regedit "~$clipboard$"

RegScanner est une interface graphique permettant de rechercher dans le registre, avec une option permettant d’accéder à la clé sélectionnée.

http://www.nirsoft.net/utils/regscanner.html

therube
la source
2

J'ai un ensemble de services représentant différentes instances d'un logiciel local. les noms de service commencent tous par le nom du logiciel, suivi de certains détails spécifiques à l'instance.

ProgramName_Detail1A_Detail1B
ProgramName_Detail2A_Detail2B

Les descriptions sont fréquemment mises à jour car l'utilisation prévue de chaque instance changera avec le temps, mais la description ne peut être modifiée que dans le registre. Dans cet esprit, le code .BAT suivant trouve le premier service "ProgramName *" et ouvre regedit avec le premier service déjà sélectionné. (Les noms de mes services ne contiennent aucun espace. Si le vôtre le fait, une adaptation sera nécessaire.)

@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
la source
1

Il n’existe aucun moyen de le faire avec l’éditeur de registre standard.

Cependant, Microsoft / Sysinternals dispose d'un outil appelé Regjump qui fait exactement ce dont vous avez besoin - le lancement au bon endroit dans l'éditeur de registre.

William Hilsum
la source
1

Si vous utilisez Regjump , vous pouvez envisager de définir une variable d’environnement, par exemple, REGJUMP = C: \ chemin \ to \ regjump.exe. Vous pouvez ensuite utiliser Regjump à partir de la zone "Rechercher" du menu Démarrer de Windows Vista, par exemple:

en tapant% REGJUMP% dans la zone de démarrage de la recherche

[Vous devrez peut-être accéder à l'emplacement de regjump.exe et configurer regjump.exe pour que l'option "Exécuter ce programme en tant qu'administrateur" soit définie dans l'onglet Propriétés -> Compatibilité. Cela garantira que Regjump fonctionne correctement sur les ordinateurs exécutant le contrôle de compte d'utilisateur].

Andrew Wyatt
la source
Ou bien, ajoutez toute la suite Sysinternals au chemin. Dans mon expérience une bonne idée.
USR
1

Avec Autohotkey plus regjump , vous pouvez définir un raccourci clavier pour accéder à un chemin clé dans le presse-papiers. Exemple:

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

Notez que pour Win7, vous devez définir "Exécuter ceci en tant qu'administrateur" dans les propriétés de compatibilité de regjump.exe.

Chris Noé
la source
1

Le moyen le plus simple consiste à utiliser un logiciel tiers. Le plus efficace est le cavalier de la clé de registre , qui est un logiciel gratuit portable.

La partie la plus intéressante est que vous n'avez pas à copier une clé de registre: il suffit de la sélectionner et de l'utiliser CtrlAltX, puis l' iemplacement de la clé de registre sera ouvert automatiquement. Si vous sélectionnez eet tapez du texte, s'il y a une clé de registre à l'intérieur, le cavalier de clé de registre peut automatiquement éliminer le texte et ouvrira l'emplacement de la clé.

Quelqu'un
la source
1

Ce fichier de commandes fonctionne pour moi sur Windows 8 si regedit est fermé lors de l’exécution du fichier de commandes.

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
à vapeur
la source
1

Si vous devez l’utiliser beaucoup, il est logique de le simplifier: vous pouvez combiner RegJump et Notepad ++ pour accéder à l’emplacement de votre registre après avoir sélectionné le chemin reg dans le texte.

Téléchargez regjump , décompressez dans votre emplacement sûr, créez le fichier de traitement par lots:

C: \ [... chemin de votre regjump.exe ...] \ regjump.exe% 1

Voici comment y parvenir:

  1. Installez NppExec via Plugins, Plugin Manager.
  2. Ensuite, dans NPP - cliquez sur F6 (menu NPP: Plugins / NPP Exec / Execute) ajoutez / enregistrez ce qui suit: (si vous appelez directement regjump.exe, il clignotera, mais pas le registre ouvert ..., vous pourrez essayer de l’appeler. en utilisant cmd avec des interrupteurs)
C: \ [... chemin d'accès à votre fichier de commandes ...] \ regjump.bat "$ (CURRENT_WORD)"
  1. Enregistrer le script, mettez le nom "RegJump to"
  2. ouvrir Plugins / NPP Exec / Options avancées ...
  3. en bas à gauche, sous "Script associé", sélectionnez votre "RegJump à"
  4. cliquez sur le bouton 'Ajouter / Modifier'
  5. vérifier sous les éléments de menu "Placer dans le sous-menu Macros"
  6. cliquez sur 'OK' pour fermer la fenêtre 'Options avancées de NPPExec'

usage : si vous avez du texte ouvert dans Notepad ++ contenant le chemin du registre, sélectionnez ce chemin et cliquez dans le menu: 'Macro / RegJump to' - il devrait ouvrir le registre à l'emplacement requis, si le chemin est correct. Si path est incorrect, le registre sera ouvert dans le chemin parent le plus proche.

regjump prend également en charge les clés abrégées: HKLM \ Software \ Microsoft

Sasha Bond
la source