Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 来自注册表的变量(批处理文件)_Variables_Path_Batch File_Registry_Set - Fatal编程技术网

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

Variables 来自注册表的变量(批处理文件),variables,path,batch-file,registry,set,Variables,Path,Batch File,Registry,Set,我正在为老游戏《模拟人生1》做一个小修改,我想我做了一个简单的批处理文件来安装它,只是为了好玩。 无论如何,您可以在注册表中找到installpath [HKEY_LOCAL_MACHINE\SOFTWARE\Maxis\The Sims] "InstallPath"="C:\\Program Files\\Maxis\\The Sims" 现在,我需要它在我的bat文件中作为一个变量,比如 set simsdir=%installpath% 我该怎么做?我在谷歌上搜索了一下,但它对我来说毫

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Maxis\The Sims]
"InstallPath"="C:\\Program Files\\Maxis\\The Sims"
现在,我需要它在我的bat文件中作为一个变量,比如

set simsdir=%installpath%
我该怎么做?我在谷歌上搜索了一下,但它对我来说毫无意义,所以我在这里问:p


干杯

听起来你需要打电话

关于的公认答案似乎具有您需要的语法。我没有测试过这个,但它看起来应该是这样的

Set Reg.Key=HKEY_LOCAL_MACHINE\SOFTWARE\Maxis\The 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%
编辑

也许在一条线上尝试一下“为所有人服务”,这是我让它工作的唯一方法。不过我对旧批处理文件有点生疏了

Set Reg.Key=HKEY_LOCAL_MACHINE\SOFTWARE\Maxis\The 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%

afai理解它,我需要将它导出到一个txt文件,然后使bat文件读取txt的特定行,然后使该变量。我只是不知道该怎么做:)我编辑了答案来举例。据我所知,您不需要中间文本文件,您可以直接在Reg.exe的输出上进行For循环