下記記事でサブ関数内でsetlocalを使った場合、サブ関数の引数変数にセットできないと言っていた件の回避方法判明。
下記のように、endlocalとset処理を&&でつなげればOK。
これでネームスペースの懸念も解消。
batファイルでの関数戻り値はこれで決まり。
endlocal && set %1=%localvar%
コード
実行結果
RetNG 100 : 0 RetOK 300 : 600
下記記事でサブ関数内でsetlocalを使った場合、サブ関数の引数変数にセットできないと言っていた件の回避方法判明。
下記のように、endlocalとset処理を&&でつなげればOK。
これでネームスペースの懸念も解消。
batファイルでの関数戻り値はこれで決まり。
endlocal && set %1=%localvar%
RetNG 100 : 0 RetOK 300 : 600