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
にします。この要件をどのように達成できますか?
私は窓の中のenv変数があるとします。それ自体が変数であるenv値を取得するには?
IA=C:\a
IB=C:\b
今私はバッチスクリプトを記述します(s.bat命名)
@echo off
set var=%1
echo %var%
私はs.bat IA
を実行すると、結果はIA
ですが、実際にはI結果をC:\a
にします。この要件をどのように達成できますか?
遅延拡張またはコールトリックを使用できます。
@echo off
setlocal EnableDelayedExpansion
set "varname=%1"
echo %varname%
echo !%varname%! - This works
call echo %%varname%% - This too
'set var ="%IA "'を使用しますか? –
この管理を達成する方法は、[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/35538235#35538235)。使用される方法の詳細な説明は、[ここ](http://stackoverflow.com/questions/10166386/arrays-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990)で与えられます。 #10167990)。 – Aacini