exit /b [数値] と errorlevelを使わない方法
- 文字列や複数の戻り値を返したいときにerrorlevelを使った方法ではできない。
- そもそも、errorlevelはエラーについて設定するべきなのに、それ以外の値を当てるのは不自然。
@echo off
:: =================
:: 実行部分
:: =================
:main
setlocal
REM サブルーチンを呼び出し。第3引数に戻り値の変数にする文字列を設定
call :join_values "A" ".txt" joined
REM 第3引数を参照。A.txtと表示される
echo %joined%
endlocal
exit /b
:: ===============================
:: 値結合
:: @param 結合値前半
:: @param 結合値後半
:: @param 戻り値:結合した値
:: ===============================
:join_values
setlocal
set v1=%~1
set v2=%~2
set ret=%v1%%v2%
REM 第3引数の文字列を動的に変数として宣言し、値を設定。
endlocal && set %3=%ret%
exit /b