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

[注册表类] 求助,用批处理怎么更改注册表中的路径?

注册表种的路径如下:
程序的路径C:\Program Files\Avid\DS_v10.5
注册表中是绝对路径,如果程序移到别的盘或者目录下,怎么用批处理更改注册表中的路径?

[HKEY_LOCAL_MACHINE\SOFTWARE\Avid\CoExistence\C:|Program Files|Avid|DS_v10.5]
"AppDllPath"="C:|Program Files|Avid|DS_v10.5"
"AppName"="Avid DS"
"AppVersion"="10.5.2"
"DllPathEnvVar"="DSPATH"
"SicorePath"="C:|Program Files|Avid|DS_v10.5"
"SicoreVersion"="10.5.2"

C:|Program Files|Avid|DS_v10.5有这种写法吗?

TOP

将C:|Program Files|Avid|DS_v10.5改成E:|Avid|DS_v10.5
  1. @echo off&setlocal enabledelayedexpansion
  2. reg export "HKLM\SOFTWARE\Avid\CoExistence" $
  3. (for /f "delims=" %%a in ('type $') do (
  4.   set "str=%%a"
  5.   set "str=!str:C:|Program Files=E:!"
  6.   echo !str!
  7. ))>$1
  8. reg delete "HKLM\SOFTWARE\Avid\CoExistence\C:|Program Files|Avid|DS_v10.5" /f
  9. reg import $1
  10. del $ $1
复制代码

TOP

本帖最后由 000 于 2012-5-17 16:36 编辑

这个批处理文件能不能跟着程序走?

程序如果路径改了,还要改这个批处理文件?类似这种 %cd%

TOP

回复 5# 000

假设将C:|Program Files改成批处理当前路径:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "pth=%~dp0"&set "pth=!pth:\=|!"
  3. reg export "HKLM\SOFTWARE\Avid\CoExistence" $
  4. (for /f "delims=" %%a in ('type $') do (
  5.   set "str=%%a"
  6.   set "str=!str:C:|Program Files|=%pth%!"
  7.   echo !str!
  8. ))>$1
  9. reg delete "HKLM\SOFTWARE\Avid\CoExistence\C:|Program Files|Avid|DS_v10.5" /f
  10. reg import $1
  11. del $ $1
复制代码

TOP

感谢!感谢!还有2个问题。
1. 如果注册表中有多个项下都有C:|Program Files这样的路径怎么改?

2.您的这段当前命令能不能添加到inf中?是用inf创建的注册表项。

TOP

继续请教高手

TOP

返回列表