[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 打开注册表编辑器的指定位置

因为经常要打开注册表编辑器,然后找到某个固定位置,查看或修改,每次都要进入注册表编辑器后 一点一点找到那个位置,就想如何用批处理来实现  运行后 自动打开注册表编辑器,并定位到指定位置(比如HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir)               知道打开注册表编辑器的命令是 start regedit   但是如何打开到指定位置就不清楚了,故在此请教。

回复 3# hu1616


使用微软官方工具包SysinternalsSuite( 官方下载: https://download.sysinternals.com/files/SysinternalsSuite.zip )中的regjump.exe( 本站下载:http://bcn.bathome.net/tool/1.1/regjump.exe ),以命令行方式运行,可选择进入指定位置,如:
  1. regjump.exe HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
复制代码

TOP

回复 3# hu1616


    你也可以如下这样直接将 注册表项写入,不需要弄个变量赋值。
记住一定要管理员权限运行,因为在已打开注册表的情况,可能是写不进值的,得先关闭打开的注册表。另外可能以前的系统注册表项前没有 计算机 这三个字,那就不要加,根据系统来,我这是Win11上试的。
  1. @echo off
  2. taskkill /im regedit.exe /f >nul 2>nul
  3. reg  add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v LastKey /t REG_SZ /d "计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion" /f >nul 2>nul
  4. start regedit
  5. exit
复制代码

TOP

回复 3# hu1616


    本来想以楼主给的注册表项为例,但我电脑没有ProgramFilesDir这个项,所以就到CurrentVersion为例,我这已试OK,你把需要打开的注册表项赋值给到变量%x%,保存ANSI编码,cmd后缀,管理员权限打开。
赋值方案1
  1. @echo off
  2. taskkill /im regedit.exe /f >nul 2>nul
  3. set "X=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion"
  4. reg  add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v LastKey /t REG_SZ /d "计算机\%x%" /f >nul 2>nul
  5. start regedit
  6. exit
复制代码
赋值方案2
  1. @echo off
  2. taskkill /im regedit.exe /f >nul 2>nul
  3. for /f "tokens=1 delims=" %%a in ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion") do (set X=%%a)
  4. reg  add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v LastKey /t REG_SZ /d "计算机\%x%" /f >nul 2>nul
  5. start regedit
  6. exit
复制代码

TOP

同样的问题,,请教咋解决的

TOP

已自行解决,封贴!

TOP

返回列表