Abra o registro diretamente para uma determinada chave?

53

Eu preciso abrir uma chave de registro como a seguinte no regedit.

HKLM\Software\Microsoft\Foo\Bar

Existe uma ferramenta que irá navegar até a chave para mim, sem que eu tenha que navegar nas pastas uma por uma?

    
por lance 03.03.2010 / 21:23

14 respostas

61

Isso não pode ser feito usando o próprio regedit.exe ou qualquer um de seus parâmetros de linha de comando.

No entanto, a Microsoft oferece regjump.exe , um pequeno utilitário (anteriormente da SysInternals) que pode ser usado para abrir o editor de registro em uma chave especificada.

Depois de instalar isso, você pode abrir a chave especificada assim:

regjump HKEY_LOCAL_MACHINE\Software\Microsoft\Windows

ou até mesmo usando abreviações:

regjump HKCU\Software\Microsoft\Windows

As abreviaturas disponíveis são:

HKCR - HKEY_CLASSES_ROOT
HKCU - HKEY_CURRENT_USER
HKLM - HKEY_LOCAL_MACHINE
HKU - HKEY_USERS
HKCC - HKEY_CURRENT_CONFIG
    
por 03.03.2010 / 21:50
12

Você pode fazer isso criando um VBScript simples na sua área de trabalho, sem instalar nenhum software adicional.

O script simplesmente define a chave "last used" no registro, antes de abri-lo.

Abra o Notepad, insira-o e salve-o como FooBar.vbs , por exemplo:

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

Nas propriedades do arquivo .vbs, você pode dizer para não aparecer uma caixa preta enquanto estiver executando o script, para torná-lo um pouco mais claro.

Se você quiser ser chique, pode salvar o script .vbs em outro lugar e criar um atalho na sua área de trabalho para ele. Você poderia, então, alterar o ícone e deixá-lo bonito (se realmente quisesse).

EDIT - Se você quisesse ser perguntado qual chave você queria abrir a cada vez, aqui está o que você usaria em seu lugar:

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
    
por 03.03.2010 / 22:06
9

O Windows 10 agora inclui a funcionalidade da barra de endereços no Editor do Registro:

Então, basta digitar ou colar o caminho na barra de endereços e pressionar Enter.

As seguintes abreviações funcionam com a barra de endereço:

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

Portanto, a abreviação HKCC - HKEY_CURRENT_CONFIG não funciona (pelo menos a partir desta data).

Você pode ativar a barra de endereços pressionando Ctrl+L ou Alt+D , como no Windows Explorer.

    
por 28.06.2017 / 15:39
6

Copie o texto abaixo e salve-o como um arquivo em lotes e execute

@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

Digite o caminho da chave do registro que você deseja abrir quando o arquivo em lote solicitar e pressione Enter e você poderá abrir o regedit com o caminho necessário da chave de registro.

    
por 27.03.2014 / 20:33
3

No RegEdit você tem a capacidade de marcar caminhos.

No menu superior, escolha

Favoritos Adicionar aos favoritos

    
por 03.03.2010 / 21:46
3

Eu uso um poderoso programa de macros ( QWin ) o tempo todo, principalmente para digitar coisas usadas com frequência. O QMenu também tem a capacidade de executar aplicativos.

Quando eu disse ao autor, Gary Chanson, sobre o regjump e perguntei se seria possível passar o conteúdo da área de transferência como um argumento de comando, ele o atualizou para permitir passar o conteúdo do buffer da área de transferência como uma variável que significa; / p>

Quando eu agora copiar qualquer chave para a área de transferência, tudo o que tenho que fazer é clicar no kotkey para QMenu e digitar "J" para ir diretamente para essa chave no Regedit.

No entanto, enquanto o acima funciona no XP, no Win7 / 8 QMenu falha por causa das restrições dos os executando executáveis. Enquanto isso funcionaria, definindo qMenu como "RUN como administrador" que exigia a aprovação de todas as macros de teclado que eu chamei. Solução? Definir QMenu até RUN um atalho para RegJump, e defina o atalho até "RUN como admin. (Você pode passar um argumento para um atalho que irá transmiti-lo para o programa que lança)

Se o QMenu parece interessante, eu tenho uma página sobre como usá-lo em bevhoward.com/WinTools.htm

Note que, enquanto eu uso as ferramentas de Gary há muitos anos, programas AV diferentes sinalizaram alguns dos arquivos como infectados ... no caso do QMenu atualizado, ele foi sinalizado pelo Avast, mas a questão é supostamente ser resolvido com a próxima atualização.

Espero que esta informação tenha valor. Beverly Howard

    
por 29.12.2013 / 20:49
2

Nircmd também pode fazer isso.

link

 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 é uma interface gráfica para pesquisar o registro, com a opção de pular para a chave selecionada.

link

    
por 29.04.2011 / 06:12
2

Eu tenho um conjunto de serviços representando diferentes instâncias de um pouco de software caseiro; Todos os nomes de serviço começam com o nome do software, seguido por alguns detalhes específicos da instância.

ProgramName_Detail1A_Detail1B
ProgramName_Detail2A_Detail2B

As descrições são atualizadas com freqüência, pois o uso pretendido de cada instância mudará com o tempo, mas a descrição só pode ser alterada no registro. Com isso em mente, o seguinte código .BAT localiza o primeiro serviço "ProgramName *" e abre o regedit com esse primeiro serviço já selecionado. (Meus nomes de serviço não contêm espaços; se o seu fizer, alguma adaptação será necessária.)

@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
    
por 19.08.2015 / 16:18
1

Não há como fazer isso com o Editor de Registro padrão por conta própria.

No entanto, a Microsoft / Sysinternals tem uma ferramenta chamada Regjump que faz exatamente o que você precisa - lançando para o lugar correto no editor de registro.

    
por 03.03.2010 / 21:51
1

Uma coisa que você pode considerar fazer se usar Regjump é configurar uma variável de ambiente, por exemplo, REGJUMP = C: \ path \ to \ regjump.exe. Então você pode usar o Regjump da caixa 'Iniciar pesquisa' no menu Iniciar do Windows Vista, por exemplo:

[Talvezsejanecessárioprocurarolocalderegjump.exeedefinirregjump.execomooníveldeprivilégio"Executar este programa como administrador" na guia Propriedades- > Compatibilidade. Isso garantirá que o Regjump funcione corretamente em computadores que executam o Controle de Conta de Usuário].

    
por 03.12.2010 / 10:42
1

Com Autohotkey mais regjump , você pode definir um atalho de teclado para pular para um caminho de chave na área de transferência. Exemplo:

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

Observe que, para o Win7, você precisará definir "Executar como administrador" nas propriedades Compatibilty do regjump.exe

    
por 04.10.2012 / 17:21
1

A maneira mais fácil é usar software de terceiros. O mais eficaz é Jumper da chave do registro , e é um freeware portátil. / p>

A parte mais interessante é que você não precisa copiar uma chave de registro: apenas selecione-a e use Ctrl Alt X , então i e a localização da chave de registro será aberta automaticamente. Se você selecionar e e digitar algum texto, se houver uma chave de registro dentro dele, o jumper da chave do Registro poderá eliminar automaticamente o texto e abrir o local da chave.

    
por 16.01.2014 / 15:59
1

Esse arquivo em lotes funciona para mim no Windows 8 se o regedit for fechado quando o arquivo em lote for executado.

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
    
por 19.10.2015 / 15:42
1

Se você tem que usar muito, faz sentido tornar mais fácil - você pode combinar RegJump e Notepad ++ para ir ao seu local do registro depois de selecionar o caminho reg em texto.

Faça o download regjump , descompacte o seu local seguro, crie um arquivo de lote:

C:\[...path to your regjump.exe...]\regjump.exe %1

Veja como conseguir isso:

  1. Instale o NppExec via Plugins, Plugin Manager.
  2. Em seguida, no NPP - clique em F6 (menu NPP: Plugins / NPP Exec / Execute) adicione / salve o seguinte: (Se você chamar regjump.exe diretamente, ele irá piscar, mas não abrir o registro ..., você pode tentar chamá-lo usando cmd com switches)
C:\[...path to your batch file...]\regjump.bat "$(CURRENT_WORD)"
  1. Salvar script, colocar o nome "RegJump to"
  2. abra Plugins / NPP Exec / Opções avançadas ...
  3. no canto inferior esquerdo, na lista suspensa "Associated Script", selecione seu "RegJump to"
  4. clique no botão "Adicionar / modificar"
  5. verifique na parte superior dos itens do menu 'colocar no submenu macros'
  6. clique em 'OK' para fechar a janela 'Opções avançadas do NPPExec'

uso : se você tiver texto aberto no Notepad ++ que contém o caminho do registro, selecione este caminho do registro e Clique em Menu: 'Macro / RegJump to' - deve abrir o registro no local desejado, se o caminho estiver correto. Se o caminho não estiver correto, ele abrirá o registro no caminho pai mais próximo.

regjump também suporta abreviações de chaves: HKLM \ Software \ Microsoft

    
por 13.11.2016 / 21:28