2016-03-19 5 views
3

私は窓の中のenv変数があるとします。それ自体が変数であるenv値を取得するには?

IA=C:\a 
IB=C:\b 

今私はバッチスクリプトを記述します(s.bat命名)

@echo off 
set var=%1 
echo %var% 

私はs.bat IAを実行すると、結果はIAですが、実際にはI結果をC:\aにします。この要件をどのように達成できますか?

+0

'set var ="%IA "'を使用しますか? –

+0

この管理を達成する方法は、[here](http://stackoverflow.com/questions/35993396/expand-variables-in-variables-with-a-batch-file)または[here](http:// 35532216/cmd-piping-echo-to-set-expanding-variables-in-variables/35538​​235#35538​​235)。使用される方法の詳細な説明は、[ここ](http://stackoverflow.com/questions/10166386/arrays-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990)で与えられます。 #10167990)。 – Aacini

答えて

5

遅延拡張またはコールトリックを使用できます。

@echo off 
setlocal EnableDelayedExpansion 
set "varname=%1" 
echo %varname% 
echo !%varname%! - This works 
call echo %%varname%% - This too 
関連する問題