Buka registry langsung ke kunci yang diberikan?

57

Saya perlu membuka kunci registri seperti yang berikut di regedit.

HKLM\Software\Microsoft\Foo\Bar

Apakah ada alat yang akan menavigasi ke kunci untuk saya, tanpa saya harus menavigasi folder satu per satu?

tombak
sumber
1
Untuk menambahkan 2 ¢ saya, beberapa waktu yang lalu, saya menulis sebuah program untuk mensimulasikan penekanan tombol ketika paste reguler tidak cukup. Saya menambahkan mode khusus untuk kunci registri agar Anda menyalin lintasan registri dan menekan tombol pintas saat berada di Regedit agar secara otomatis menavigasi ke jalur itu. Kemudian, saya menulis sebuah program yang akan melakukan beberapa pemeliharaan registri dan diperlukan untuk menyediakan fungsi lompat-ke-jalan. Saya akhirnya mendeteksi jika Regedit terbuka; jika demikian ia mengirim penekanan tombol yang benar (saya menyalin fungsi dari program lama), dan jika tidak, ia menulis ke …Regedit\LastKey, dan membuka Regedit; Regedit melompat sendiri.
Synetech
Anda dapat memilih di aplikasi Umpan Balik Windows (di Win10) "Regedit harus memiliki fungsionalitas bilah alamat". Tautan berikut hanya akan berfungsi di Win10 windows-feedback:? Contextid = 79 & feedbackid = b11f8bdf-eaf4-4799-8e65-5161924ad22c & form = 1 & src = 1
Michael Freidgeim
2
Windows 10 sekarang menyertakan fungsionalitas bilah alamat di editor registri. Lihat jawaban saya.
Miscreant

Jawaban:

64

Ini tidak dapat dilakukan dengan menggunakan regedit.exesendiri atau parameter baris perintahnya.

Namun, Microsoft menawarkan regjump.exe, utilitas kecil (sebelumnya dari SysInternals) yang dapat digunakan untuk membuka editor registri ke kunci yang ditentukan.

Setelah Anda menginstal ini, Anda dapat membuka ke kunci yang ditentukan seperti:

regjump HKEY_LOCAL_MACHINE\Software\Microsoft\Windows

atau bahkan menggunakan singkatan:

regjump HKCU\Software\Microsoft\Windows

Singkatan yang tersedia adalah:

HKCR - HKEY_CLASSES_ROOT
HKCU - HKEY_CURRENT_USER
HKLM - HKEY_LOCAL_MACHINE
HKU - HKEY_USERS
HKCC - HKEY_CURRENT_CONFIG
mindless.panda
sumber
Berfungsi bagus dengan Launchy . :)
Mateen Ulhaq
9
Bagus. Sekarang, jika MS dapat menyediakan alat, mengapa mereka tidak bisa memodifikasi regedit untuk memungkinkan parameter baris perintah? Setidaknya win7 belum memiliki ini ...
BmyGuest
2
Perhatikan bahwa Windows 10 mengharuskan regjump dimulai dengan hak administratif untuk berfungsi dengan benar.
Vladimir Reshetnikov
1
Gunakan regjump -cuntuk membuka kunci dari clipboard.
xmedeko
Windows 10 sekarang menyertakan fungsionalitas bilah alamat di editor registri. Lihat jawaban saya.
Miscreant
13

Anda dapat melakukan ini dengan membuat VBScript sederhana di desktop Anda, tanpa menginstal perangkat lunak tambahan.

Script cukup menetapkan kunci "terakhir digunakan" dalam registri, sebelum kemudian membukanya.

Buka Notepad, masukkan ini ke dalamnya dan simpan seperti FooBar.vbsmisalnya:

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

Dalam properti untuk file .vbs Anda bisa mengatakan itu untuk tidak memunculkan kotak hitam saat menjalankan skrip, untuk membuatnya sedikit lebih rapi.

Jika Anda ingin menjadi mewah, Anda dapat menyimpan skrip .vbs di tempat lain dan membuat pintasan di desktop Anda untuk itu. Anda kemudian dapat mengubah ikon dan mungkin terlihat cantik (jika Anda benar-benar ingin).

EDIT - Jika Anda ingin ditanya kunci apa yang ingin Anda buka setiap kali, inilah yang akan Anda gunakan:

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
sumber
Mengubah kunci yang akan dibuka akan memerlukan pengeditan skrip setiap kali, kecuali jika diberikan sebagai argumen baris perintah. Solusi yang bagus, sangat berguna.
mindless.panda
Yah, saya suka yang ini sebagai solusi karena sifatnya yang bisa diperluas dan mengajarkan beberapa scripting dasar. Saya berasumsi Anda menggunakan kotak input karena menjalankan skrip melalui baris perintah memerlukan pemanggilannya melalui host skrip? Dan dengan demikian melakukan sesuatu seperti "script / key / foo / bar" bukankah foward langsung untuk skrip pada baris perintah?
mindless.panda
Saya menghapus komentar saya. Cobalah keduanya dan lihat mana yang paling mudah :-)
Kez
12

Windows 10 sekarang menyertakan fungsionalitas bilah alamat di Penyunting Registri:

Fungsionalitas address bar Editor Registri

Jadi cukup ketik atau tempel jalur di bilah alamat, dan tekan Enter.


Singkatan berikut ini berfungsi dengan bilah alamat:

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

Jadi, HKCC - HKEY_CURRENT_CONFIGsingkatan itu tidak berfungsi (setidaknya pada tanggal ini).


Anda dapat mengaktifkan bilah alamat dengan menekan Ctrl+Latau Alt+D, seperti di Windows Explorer.

Bajingan
sumber
Saya memiliki windows 10, dan saya tidak memiliki bilah alamat ini. Dan dua jalan pintas tidak berhasil.
WORMSS
@ KERJA SANGAT aneh. Lihat apakah Anda memiliki Address Barentri di Viewmenu Editor Registri.
Miscreant
Saya telah memeriksa, Tidak, saya harus (1) memiliki versi lama RegEdit atau (2) ada versi kedua pada mesin di suatu tempat tetapi tidak pada% PATH%, saya telah memeriksa PC di rumah saya yang menjalankan Win10 Rumah sudah memiliki bilah alamat. Work PC yang menjalankan Win10Pro memiliki RegEdit klasik. Oh well, setidaknya sekarang aku tahu.
WORMSS
@WORMSS Mungkin Microsoft menambahkan bilah alamat di Pembaruan Pembuat.
Miscreant
mungkin, CU merusak beberapa perangkat lunak di tempat kerja, jadi kami tidak memilikinya di sana ... Tidak tahu apakah PC rumahan saya memilikinya .. Tidak pernah repot untuk melihatnya .. Terima kasih atas bantuannya.
WORMSS
6

Salin teks di bawah ini dan simpan sebagai file batch dan jalankan

@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

Masukkan lintasan kunci registri yang ingin Anda buka ketika file batch memintanya dan tekan Enterdan Anda akan dapat membuka regedit dengan lintasan kunci registri yang diperlukan.

Anuresh Kothari
sumber
Saya harus menghapus @ECHO OFF<br>untuk membuatnya bekerja di windows 8
dikemudikan
4

Di RegEdit Anda memiliki kemampuan untuk menandai jalur.

Dari menu atas pilih

Favorites Add to Favorites

Ak.
sumber
Setelah Anda menandai favorit Anda, buat cadangan kunci registri HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favoritessehingga Anda dapat dengan mudah mengembalikan pada komputer baru dan dapatkan semua favorit Anda lagi.
James L.
3

Saya menggunakan program makro yang kuat ( QWin ) sepanjang waktu, terutama untuk mengetik hal-hal yang sering digunakan. QMenu juga memiliki kemampuan untuk menjalankan aplikasi.

Ketika saya memberi tahu penulis, Gary Chanson, tentang regjump dan bertanya apakah mungkin untuk meneruskan konten clipboard sebagai argumen perintah, ia memperbaruinya untuk memungkinkan meneruskan isi buffer clipboard sebagai variabel yang artinya;

Ketika saya sekarang menyalin kunci apa saja ke clipboard, yang harus saya lakukan adalah menekan kotkey untuk QMenu dan ketik "J" untuk langsung menuju ke kunci itu di Regedit.

Namun, sementara di atas berfungsi di XP, di Win7 / 8 QMenu gagal karena pembatasan os 'dalam menjalankan executable. Sementara itu akan bekerja dengan mengatur qMenu sebagai "RUN as admin" yang mengharuskan menyetujui setiap makro keyboard yang saya panggil. Larutan? Atur QMenu hingga RUN jalan pintas untuk RegJump, dan atur pintasan hingga "RUN sebagai admin. (Anda bisa meneruskan argumen ke jalan pintas yang akan meneruskannya ke program yang diluncurkan)

Jika QMenu terdengar menarik, saya memiliki halaman tentang menggunakannya di bevhoward.com/WinTools.htm

Catatan, sementara saya telah menggunakan alat Gary selama bertahun-tahun, berbagai program AV telah menandai beberapa file sebagai terinfeksi ... dalam kasus QMenu yang diperbarui, ia ditandai oleh Avast, tetapi masalah ini seharusnya diselesaikan dengan pembaruan mereka berikutnya.

Semoga informasi ini bermanfaat. Beverly Howard

pengguna285425
sumber
Selamat Datang di Pengguna Super! Itu jawaban yang bagus, tetapi bisakah Anda menambahkan beberapa informasi yang Anda miliki di halaman yang Anda tautkan? Semuanya baik dan semua, tetapi yang terbaik adalah jika ada di sini - dengan begitu, jika situs Anda turun atau berubah, jawaban atas pertanyaan masih tersedia. :)
Thor
2

Nircmd juga bisa melakukannya.

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 adalah GUI untuk mencari registri, dengan opsi untuk beralih ke kunci yang dipilih.

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

therube
sumber
2

Saya memiliki serangkaian layanan yang mewakili berbagai contoh perangkat lunak buatan sendiri; semua nama layanan dimulai dengan nama perangkat lunak, diikuti oleh detail spesifik-instance tertentu.

ProgramName_Detail1A_Detail1B
ProgramName_Detail2A_Detail2B

Deskripsi sering diperbarui karena penggunaan yang dimaksud dari setiap instance akan berubah seiring waktu, tetapi deskripsi hanya dapat diubah dalam registri. Dengan mengingat hal itu, kode .BAT berikut menemukan layanan "ProgramName *" pertama dan membuka regedit dengan layanan pertama yang sudah dipilih. (Nama layanan saya tidak mengandung spasi; jika Anda melakukannya, beberapa adaptasi akan diperlukan.)

@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
sumber
1

Tidak ada cara untuk melakukan ini dengan Registry Editor standar sendiri.

Namun, Microsoft / Sysinternals memiliki alat yang disebut Regjump yang melakukan apa yang Anda butuhkan - meluncurkan ke tempat yang benar di editor registri.

William Hilsum
sumber
1

Satu hal yang mungkin Anda pertimbangkan untuk dilakukan jika Anda menggunakan Regjump adalah mengatur variabel lingkungan, misalnya REGJUMP = C: \ path \ to \ regjump.exe. Kemudian Anda dapat menggunakan Regjump dari kotak 'Mulai Pencarian' di, katakanlah, Start Menu Windows Vista:

mengetik% REGJUMP% di kotak Mulai Pencarian

[Anda mungkin perlu menelusuri ke lokasi regjump.exe dan mengatur regjump.exe untuk memiliki 'Jalankan program ini sebagai tingkat Privilege administrator pada tab Properties-> Compatibility. Ini akan memastikan bahwa Regjump beroperasi dengan benar pada komputer yang menjalankan dengan Kontrol Akun Pengguna].

Andrew Wyatt
sumber
Atau, tambahkan seluruh Suite Sysinternals ke jalur. Dalam pengalaman saya ide yang bagus.
usr
1

Dengan Autohotkey plus regjump , Anda dapat menentukan pintasan keyboard untuk melompat ke jalur kunci di clipboard. Contoh:

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

Perhatikan bahwa untuk Win7 Anda harus mengatur "Jalankan ini sebagai administrator" di properti Compatibilty dari regjump.exe

Chris Noe
sumber
1

Cara termudah adalah menggunakan perangkat lunak pihak ke-3. Yang paling efektif adalah jumper kunci Registry , dan ini adalah freeware portabel.

Bagian yang paling menarik adalah Anda tidak perlu menyalin kunci registri: cukup pilih dan gunakan CtrlAltX, lalu ilokasi kunci registri akan dibuka secara otomatis. Jika Anda memilih edan mengetik beberapa teks, jika ada kunci registri di dalamnya, jumper kunci Registri dapat secara otomatis menghilangkan teks dan akan membuka lokasi kunci.

Some one
sumber
1

File batch ini berfungsi untuk saya di windows 8 jika regedit ditutup ketika file batch berjalan.

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
ditenagai uap
sumber
1

Jika Anda harus sering menggunakannya, masuk akal membuatnya lebih mudah - Anda dapat menggabungkan RegJump dan Notepad ++ untuk menuju ke lokasi registri Anda setelah memilih reg path dalam teks.

Unduh regjump , unzip ke lokasi aman Anda, buat file batch:

C: \ [... path ke regjump.exe Anda ...] \ regjump.exe% 1

Inilah cara untuk mencapai ini:

  1. Instal NppExec melalui Plugins, Plugin Manager.
  2. Kemudian dalam NPP - klik F6 (menu NPP: Plugins / NPP Exec / Execute) tambahkan / simpan yang berikut ini: (jika Anda memanggil regjump.exe secara langsung, itu akan berkedip, tetapi tidak membuka registri ..., Anda dapat mencoba menyebutnya menggunakan cmd dengan switch)
C: \ [... path ke file batch Anda ...] \ regjump.bat "$ (CURRENT_WORD)"
  1. Simpan skrip, masukkan nama "RegJump ke"
  2. buka Plugins / NPP Exec / Advanced Options ...
  3. di kiri bawah di bawah drop down 'Associated Script' pilih 'RegJump to' Anda
  4. klik tombol 'Tambah / Ubah'
  5. periksa di bagian atas item Menu 'Place to the Macros submenu'
  6. klik 'OK' untuk menutup jendela 'Opsi Lanjutan NPPExec'

penggunaan : jika Anda memiliki teks terbuka di Notepad ++ yang berisi jalur registri, pilih jalur registri ini dan klik Menu: 'Makro / RegJump ke' - itu harus membuka registri di lokasi yang diperlukan, jika jalurnya benar. jika jalur tidak benar, itu akan membuka registri di jalur induk terdekat.

Regjump juga mendukung kunci yang disingkat: HKLM \ Software \ Microsoft

Sasha Bond
sumber