Добавьте значения реестра с двойными кавычками или расширяемыми переменными данными, используя Reg.exe

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

В этой статье рассказывается, как создавать значения реестра, передавая двойные кавычки и переменные среды (без расширения или разрешения пути к папке), с помощью инструмента консоли reg.exe.

Добавьте данные реестра с двойными кавычками, используя REG.exe

Рассмотрим следующий случай. Если вам нужно написать в (default) установив свои данные в "d:\my projects\runx64.exe" с двойными кавычками вы должны будете избегать внутренних двойных кавычек, используя обратную косую черту.

Пример:

REG ADD HKCR\boxfile\shell\command /ve /t REG_SZ /d "\"d:\my projects\runx64.exe\" "\"%1\""

reg.exe передает двойные кавычки в данных и расширяемые строки

Если вы не избежите внутренних двойных кавычек вокруг данных, таких как:

REG ADD HKCR\boxfile\shell\command /ve /t REG_SZ /d "d:\my projects\runx64.exe %1"

Команда завершится успешно, но в итоге вы создадите следующий ключ / значение реестра без двойных кавычек:

reg.exe передает двойные кавычки в данных и расширяемые строки

Пример 2:

REG ADD HKCR\boxfile\shell\command /ve /t REG_SZ /d "\"d:\my projects\runx64.exe\" -runmax "\"%1\""

reg.exe передает двойные кавычки в данных и расширяемые строки

Добавьте значение реестра, содержащее расширяемые строковые данные, используя REG.exe

Чтобы добавить тип значения реестра REG_EXPAND_SZ и передать расширяемую строку точно так, как указано (без расширения переменной), вам нужно будет использовать каретку ^ символ с % условное обозначение.

Пример:

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop /t REG_EXPAND_SZ /d ^%USERPROFILE^%\Desktop

reg.exe передает расширяемые строковые данные без расширения

Если вы не используете символ каретки, как в следующем примере командной строки:

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop /t REG_EXPAND_SZ /d %USERPROFILE%\Desktop

Переменная среды или раскрываемая строка автоматически раскрываются или преобразуются в путь к папке, как показано на следующем рисунке.

reg.exe передает расширяемые строковые данные без расширения

Надеюсь, что эта статья помогла вам передать сложные аргументы командной строки с двойными кавычками и расширяемыми переменными в реестр, используя reg.exe командная строка.

Ссылка на основную публикацию