使用批处理文件创建注册表

时间:2018-04-23 21:11:10

标签: batch-file regedit

我正在创建一个批处理文件,添加它将创建注册表项,以便将自定义命令添加到我们的文件管理软件的UI中。

问题在于密钥的位置因用户所使用的软件版本而异。

是否可以创建一个补丁文件,在注册表项/子键中搜索并在那里创建新值?

以下是注册表位置的示例,**包围的部分将根据版本进行更改:

df2.plot(kind='bar', 
         yerr=pd.pivot_table(df,
                             index='COLUMN3',
                             columns='Category',values='COLUMN1')
                .reindex(df2.index)
                .reindex(df2.columns, axis=1))

基本上我必须寻找软件的版本并将其插入密钥。如果存在多个,则它将是最大值。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

@echo off
setlocal

for /f "delims=" %%A in (
    'reg query HKCU\SOFTWARE\Motive\M-Files'
) do set "root=%%~A" & set "version=%%~nxA"

echo root: %root%
echo version: %version%

if defined root (
    echo Write new reg information.
    reg add "%root%\testkey" /v testvalue /d data /f
    reg add "%root%\testkey" /v testversion /d "%version%" /f
)

for循环使用命令reg query进行搜索 注册表项中的条目。最后一个条目保存为 rootversion。变量root将具有完整的密钥路径 而变量version将是路径的最后一段 这将是关键名称。这些都与控制台相呼应。

如果定义了root,则子项testkey将添加值和 代码显示的数据。

只要您在M-Files的密钥下只有版本密钥 那么这可能是你可能需要的。如果没有,那么您可能需要更多 代码跳过其他键。