Я хочу расширить значение переменной реестра 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» (а не ее значением))