来自注册表(批处理文件)的变量



我正在为旧游戏模拟人生1做一个小模型,我想我做了一个简单的批处理文件来安装它,只是为了好看。无论如何,在注册表中您可以找到installpath

[HKEY_LOCAL_MACHINESOFTWAREMaxisThe Sims]
"InstallPath"="C:\Program Files\Maxis\The Sims"

现在,我需要把它作为我的bat文件中的一个变量,比如

set simsdir=%installpath%

我该怎么做?我在谷歌上搜索了一下,但对我来说没有任何意义,所以,这就是我在这里问的原因:p

欢呼

听起来你需要调用reg.exe

771240上接受的答案看起来有您需要的语法。我还没有测试过,但它应该看起来像

Set Reg.Key=HKEY_LOCAL_MACHINESOFTWAREMaxisThe Sims
Set Reg.Val=InstallPath
For /F "Tokens=2*" %%A In (
    'Reg Query "%Reg.Key%" /v "%Reg.Val%" ^| Find /I "%Reg.Val%"' )
Do Call Set simsdir=%%B
echo %simsdir%

编辑

也许可以尝试在一行中使用for all,这是我能让它工作的唯一方法。我对旧批处理文件有点生疏了,不过

Set Reg.Key=HKEY_LOCAL_MACHINESOFTWAREMaxisThe Sims
Set Reg.Val=InstallPath
For /F "Tokens=2*" %%A In ('Reg Query "%Reg.Key%" /v "%Reg.Val%" ^| Find /I "%Reg.Val%"' ) Do Call Set simsdir=%%B
echo %simsdir%

最新更新