2016-07-26 16 views
0

reg query <KEY> /v <VALUE>で取得したREG_EXPAND_SZの値を拡張したいと考えています。REG_EXPAND_SZをバッチファイルでどのように展開しますか?

環境変数(%に囲まれています)を含む環境変数をどのように拡張しますか? たとえば、xに含まれる%systemroot%\system32\configC:\Windows\system32\configに展開したいとします。

+0

そのまま使用してください。それだけであなたが必要なのです。 –

+0

@Noodlesそうではありません。たとえば、環境変数 'x'が'%UserProfile%\ Documents'で 'echo '%x%''が ''%UserProfile%\ Documents ''となった場合、 'dir"を使うことはできません%x% " 'または同様の操作。この文字列にはリテラルのパーセント記号が含まれていますが、通常は特別に環境変数として扱われません。 – Kupiakos

+0

遅延拡張を使用することもできます – SomethingDark

答えて

0

call setを使用してください。

:: This code is for a batch file, as expansion works differently. 
set x=%%systemroot%%\system32\config 
:: '%x%' is now '%systemroot%\system32\config' 
call set "y=%x%" 

call意志parse its code block twice、そうcall set "y=%x%"は最初set "y=%systemroot%\system32\config"に拡大する、とのセットが呼び出されたときに、それはset "y=C:\Windows\system32\config"に(私のシステム上で)展開されています。

関連する問題