Batch file - Discovered program path (variable) - Run program from discovered reg value (path)

允我心安 提交于 2019-12-02 01:22:13
wmz
@echo off

for /f "tokens=1,3" %%E in ('reg query "HKEY_CURRENT_USER\Software\Valve\Steam"') do (
    if %%E==SteamExe echo "%%F"
)

pause

reg query Get all keys and values for the registry path.

for /f Visit each line of the queried registry data and split the data so "Name" is stored in 'E' and "Data" is stored in 'F'. If 'E' equals "SteamExe" then echo 'F', which will display the steam executable path.

Command-line version:

@for /f "tokens=1,3" %E in ('reg query "HKEY_CURRENT_USER\Software\Valve\Steam"') do @if %E==SteamExe @echo "%F"

I approached another way, this will work.

setlocal

regedit /e reg_exported.tmp "HKEY_CURRENT_USER\Software\Valve\Steam"
find "SteamExe" reg_exported.tmp | findstr "SteamExe" >> line_exported.tmp
set /p SteamPath= < line_exported.tmp
set SteamPath=%SteamPath:~11%

del reg_exported.tmp
del line_exported.tmp

start "Steam" %SteamPath%

endlocal
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!