首页 > 解决方案 > 修改现有注册表项值的一部分

问题描述

我想更改注册表中的值。

在批处理文件中,我有:

ECHO Changes in reg
reg import "C:\modifySip.reg"

modifySip.reg我有:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Lync]
"ServerSipUri"="User.Test@domainA.com"

它有效!

但是,现在我想使用现有注册表值的一部分并对其进行修改。

我需要保留User.Test@URI 的domainA.com一部分,并用domainB.com.

标签: batch-fileregistry

解决方案


鉴于您提供的信息,并且正如我在评论中提到的,没有必要.reg为此任务使用文件。我将提供以下批处理文件解决方案:

@Echo Off
SetLocal EnableExtensions

Set "NewDomain=domainb.com"
Set "RegKey=HKCU\Software\Microsoft\Office\16.0\Lync"
Set "ValName=ServerSipUri"

For /F "EOL=H Tokens=2*" %%G In ('""%__AppDir__%reg.exe" Query "%RegKey%" /V "%ValName%" 2> NUL"'
) Do For /F "Tokens=1* Delims=@" %%I In ("%%H") Do "%__AppDir__%reg.exe" Add "%RegKey%" /V "%ValName%" /D "%%I@%NewDomain%" /F 1> NUL

只需将行修改4为您需要的实际域字符串。


推荐阅读