标题: [注册表类] 求助,用批处理怎么更改注册表中的路径? [打印本页]
作者: 000 时间: 2012-5-16 15:17 标题: 求助,用批处理怎么更改注册表中的路径?
注册表种的路径如下:
程序的路径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"
作者: apang 时间: 2012-5-16 15:39
C:|Program Files|Avid|DS_v10.5有这种写法吗?
作者: apang 时间: 2012-5-16 18:11
将C:|Program Files|Avid|DS_v10.5改成E:|Avid|DS_v10.5- @echo off&setlocal enabledelayedexpansion
- reg export "HKLM\SOFTWARE\Avid\CoExistence" $
- (for /f "delims=" %%a in ('type $') do (
- set "str=%%a"
- set "str=!str:C:|Program Files=E:!"
- echo !str!
- ))>$1
- reg delete "HKLM\SOFTWARE\Avid\CoExistence\C:|Program Files|Avid|DS_v10.5" /f
- reg import $1
- del $ $1
复制代码
作者: 000 时间: 2012-5-17 16:35
本帖最后由 000 于 2012-5-17 16:36 编辑
这个批处理文件能不能跟着程序走?
程序如果路径改了,还要改这个批处理文件?类似这种 %cd%
作者: apang 时间: 2012-5-17 17:53
回复 5# 000
假设将C:|Program Files改成批处理当前路径:- @echo off&setlocal enabledelayedexpansion
- set "pth=%~dp0"&set "pth=!pth:\=|!"
- reg export "HKLM\SOFTWARE\Avid\CoExistence" $
- (for /f "delims=" %%a in ('type $') do (
- set "str=%%a"
- set "str=!str:C:|Program Files|=%pth%!"
- echo !str!
- ))>$1
- reg delete "HKLM\SOFTWARE\Avid\CoExistence\C:|Program Files|Avid|DS_v10.5" /f
- reg import $1
- del $ $1
复制代码
作者: 000 时间: 2012-5-17 22:26
感谢!感谢!还有2个问题。
1. 如果注册表中有多个项下都有C:|Program Files这样的路径怎么改?
2.您的这段当前命令能不能添加到inf中?是用inf创建的注册表项。
作者: 000 时间: 2012-5-21 13:41
继续请教高手
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |