Para usar (expandir) variáveis de ambiente no registro, o valor deve ser do tipo REG_EXPAND_SZ
.
Baseado em esta pergunta , seria mais fácil adicionar esse tipo de valor com o comando reg
em vez de um arquivo .reg
. .
reg add <KEY> /v <NAME> /t REG_EXPAND_SZ /d <DATA>
Veja reg add /?
para mais informações sobre esta sintaxe.
Você também pode codificar os dados como hexadecimais. Há alguns exemplos desse aqui :
REG_EXPAND_SZ
data must be presented as what MS calls a binary data type (subtype "2"), so the value must be formatted in a kind of hexidecimal format, comma-delimited, two tokens per byte (padded with zeros), with a terminating null byte of course (and further explanation is obviously far beyond the scope of this article, and the author won't be held responsible for anyone's misuse of the incomplete information given thus far). So the line above will not work but indicates the end result I wanted to achieve. As a real working .REG -file entry the example above must be rendered as:
"SoMeThIng"="%WINDIR%\system32"
torna-se
"SoMeThIng"=hex(2):22,25,57,49,4e,44,49,52,25,5c,5c,73,79,73,74,65,6d,33,32,22,00