Для вывода / f и REG QUERY и скобок, пытаясь найти JRE home - PullRequest
1 голос
/ 26 ноября 2010

Я пытаюсь написать командный файл, чтобы найти каталог JRE путем запроса реестра.

Я использую REG QUERY, который возвращает следующий вывод:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java RuntimeEnvironment\1.6
JavaHome    REG_SZ    C:\Program Files (x86)\Java\jre6

Im затемпытаясь использовать FOR / F для возврата значения JavaHome, как показано ниже:

FOR /F "usebackq skip=2 tokens=3*" %%B IN (`REG QUERY "%JAVA_VERSION%" /v %JAVA_HOME_NAME% 2^>nul`) DO (
echo %%B)

Проблема в том, что это возвращает только c: \ Program Files.Сначала я подумал, что все в порядке, мне просто нужен следующий токен, так как он разделен на следующее пространство, но это не работает, поэтому я предполагаю, что проблема в скобках.

Вопрос в том, как мне успешно получить Javaпуть из вывода запроса reg?

1 Ответ

0 голосов
/ 26 ноября 2010

Понял, я неправильно понял использование параметра токенов.3 * будет возвращать последовательно именованные параметры для каждого найденного токена, поэтому в этом случае мне нужно было получить доступ к: %% B и %% C, чтобы получить полный путь.

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