1) 簡単な例:
set a="Hello"
set d="a"
では、変数 (の値) を使用して "a" の値を取得するにはどうすればよいd
でしょうか。たとえば、ユーザーがプロンプトを使用して変数名を入力したり、変数名を関数に送信したりすることができます。
これらのアイデアはどれも機能しません:
set e=%%d%%
set e=%%%d%%%
set e=set e=%%d%%
%e%
1 時間のブレインストーミングとグーグル検索の後、私はこれを思いつきましたが、あまりにも複雑で不器用に思えます。他に/より簡単な方法は本当にありませんか?:
set a="Hello"
set b="Good day"
set c="Good night"
set /p d="Give me a variable name"
call :GetVarVal %%%d%%% "e"
REM This now gives the correct value:
echo %e%
goto :eof
:GetVarVal
set "%~2=%~1"
goto :eof
2)また、似たようなものですが、これを行うためのより良い方法はありますか(理想的にはカスタム関数なしで):
set a="C:\Users\Blah\Documents\MP4Box\MP4Box.exe"
call :get_drive_and_path a
echo %b%
goto :eof
:get_drive_and_path
set b=%~dp1
goto :eof
ありがとう!