是否可以通过.bat / .cmd脚本修改registry项?

是否可以通过.bat / .cmd脚本修改registry值(无论是string还是DWORD)?

您可以使用REG命令。 来自http://www.ss64.com/nt/reg.html

Syntax: REG QUERY [ROOT\]RegKey /v ValueName [/s] REG QUERY [ROOT\]RegKey /ve --This returns the (default) value REG ADD [ROOT\]RegKey /v ValueName [/t DataType] [/S Separator] [/d Data] [/f] REG ADD [ROOT\]RegKey /ve [/d Data] [/f] -- Set the (default) value REG DELETE [ROOT\]RegKey /v ValueName [/f] REG DELETE [ROOT\]RegKey /ve [/f] -- Remove the (default) value REG DELETE [ROOT\]RegKey /va [/f] -- Delete all values under this key REG COPY [\\SourceMachine\][ROOT\]RegKey [\\DestMachine\][ROOT\]RegKey REG EXPORT [ROOT\]RegKey FileName.reg REG IMPORT FileName.reg REG SAVE [ROOT\]RegKey FileName.hiv REG RESTORE \\MachineName\[ROOT]\KeyName FileName.hiv REG LOAD FileName KeyName REG UNLOAD KeyName REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/v ValueName] [Output] [/s] REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/ve] [Output] [/s] Key: ROOT : HKLM = HKey_Local_machine (default) HKCU = HKey_current_user HKU = HKey_users HKCR = HKey_classes_root ValueName : The value, under the selected RegKey, to edit. (default is all keys and values) /d Data : The actual data to store as a "String", integer etc /f : Force an update without prompting "Value exists, overwrite Y/N" \\Machine : Name of remote machine - omitting defaults to current machine. Only HKLM and HKU are available on remote machines. FileName : The filename to save or restore a registry hive. KeyName : A key name to load a hive file into. (Creating a new key) /S : Query all subkeys and values. /S Separator : Character to use as the separator in REG_MULTI_SZ values the default is "\0" /t DataType : REG_SZ (default) | REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ Output : /od (only differences) /os (only matches) /oa (all) /on (no output) 

@Franci Penov – 修改可能的覆盖 /f ,例如

 reg add "HKCU\Software\etc\etc" /f /v "value" /t REG_SZ /d "Yes" 

是的,你可以使用reg命令来编写脚本。 例:

 reg add HKCU\Software\SomeProduct reg add HKCU\Software\SomeProduct /v Version /t REG_SZ /d v2.4.6 

这将创build密钥HKEY_CURRENT_USER\Software\SomeProduct ,并向该密钥添加一个名为“Version”的string值“v2.4.6”。

reg /? 有细节。

这是如何可以修改registry,没有是或没有提示,不要忘记以pipe理员身份运行

 reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\etc\etc /v Valuename /t REG_SZ /d valuedata /f 

下面是将Internet Explorer设置为我的默认浏览器的一个真实例子

 reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice /v ProgId /t REG_SZ /d IE.HTTPS /f 

/ f强制:强制更新而不提示“值存在,覆盖Y / N”

/ d数据:要存储为“string”,整数等的实际数据

/ v值:值的名称,例如ProgId

/ t数据types:REG_SZ(默认)| REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ

了解有关读取,设置或删除registry项和值的更多信息,从.REG文件进行保存和恢复。 从这里

你可以创build一个.reg文件并调用它。 您可以将registry的任何部分导出为.reg文件,以查看格式是什么。

格式:

http://support.microsoft.com/kb/310516

这可以在任何Windows机器上运行,而无需安装其他软件。

是。 您可以使用随操作系统附带的reg.exe来添加,删除或查询registry值。 Reg.exe没有明确的修改命令,但可以通过删除然后添加来完成。

除了reg.exe之外,我还强烈build议您还检查一下powershell,它的registry处理能力非常强大。