Правильный синтаксис для расширения значения записи реестра Path значением переменной пакетного файла - PullRequest
0 голосов
/ 15 июня 2019

Я хочу расширить значение переменной реестра Path значением переменной пакетного файла

:: This is the content of the install.cmd
set ROOT_DIR=%~dp0%
echo %path%|find /i "%ROOT_DIR%\Tools\">nul  || set path=%path%;%ROOT_DIR%\Tools\
reg.exe ADD "HKEY_CURRENT_USER\Environment" /v Path /t REG_EXPAND_SZ /d %path% /f

Ожидается : он добавляет% ROOT_DIR% \ Tools к% path%если он еще не содержится, запишите полный путь к записи реестра путей

Actual : неверный синтаксис


Variation 1

reg.exe ADD "HKEY_CURRENT_USER\Environment" /v Path /t REG_EXPAND_SZ /d ^%path^% /f

Результат : он игнорирует переключатель силы, удаляет все с пути и перезаписывает его строкой '/ f'


Вариант 2

reg.exe ADD "HKEY_CURRENT_USER\Environment" /v Path /t REG_EXPAND_SZ /d %%path%% /f

Результат : он переопределяет содержимое записи реестра Path строкой "% path%" (без значения)


Вариация 3

reg.exe ADD "HKEY_CURRENT_USER\Environment" /v Path /t REG_EXPAND_SZ /d path /f

Результат : он переопределяет содержимое записи реестра Path строкой «path» (а не ее значением))

...