Получить расположение установки из данных значения ключа реестра - PullRequest
0 голосов
/ 31 мая 2019

Я в основном хочу узнать, возможно ли мне получить путь из реестра и использовать его в командном файле.

В основном у меня есть некоторый код, который я собрал с этого сайта

@echo off
reg query "HKLM\SOFTWARE\Wow6432Node\Rockstar Games\Grand Theft Auto V" /v     "InstallFolder"

Эта строка возвращает

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Rockstar Games\Grand Theft Auto V
InstallFolder    REG_SZ    D:\Rockstar Games\Grand Theft Auto V

Все, что я хочу сделать здесь, это добавить путь к GTA к пакетному файлу, чтобы я мог затем запустить исполняемый файл (PlayGTAV.exe) через пакетную программу.файл.Причина, по которой я не использую путь, который я уже знаю, заключается в том, что я хочу, чтобы этот командный файл работал на некоторых компьютерах друзей.

1 Ответ

0 голосов
/ 31 мая 2019
@ECHO OFF
SETLOCAL
FOR /f "delims=" %%a IN ('reg query "HKLM\SOFTWARE\Embarcadero\Interbase\Servers" ^|find " REG_SZ "') DO (
 SET "target=%%a"
)
SET "target=%target:*REG_SZ    =%"
ECHO "%target%"

GOTO :EOF

Это должно продемонстрировать, как - я, очевидно, использовал другой ключ.

^|find... находит соответствующую строку, содержащую REG_SZ (каретка используется, чтобы сообщить cmd, что трубопровод является командой reg query, а не частью for) и for /f "delims=" выделяет всю строку для приложения на %%a.

Оттуда, это просто вопрос применения подстроки к обычной переменной среды target (поскольку подстрока мета-переменной %%a недопустима) - замените любые символы до и включая первое вхождение REG_SZ+4spaces на ничего (строка между = и терминалом %

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...