FC2ブログ

水雲風

とりあえず人生を記録と妄想の吐き出しの地

バッチファイルで関数実現(2010/01/06)

バッチファイルで関数的なものを実現できたのでメモしておきます。
他のバッチファイルを用意して呼び出すという方法が簡単ですが、
どうしてもバッチファイル1つという手軽さのために実現したかったので試行錯誤してみました。
もっと良い実現方法があるかもしれません。

下記の関数実現の例を示します、
環境変数とgotoを利用して関数を実現しています。
(対応するgotoとラベルを同じ色にしています)

バッチファイルで関数を用いた例

@echo off
setlocal

rem ======================================================
rem === 関数定義 ===
rem === METHOD_TEST_RETURN : IN(返る場所を指定) ===
rem === METHOD_TEST_SUBTEXT : IN(テキストの一部を指定) ===
rem === METHOD_TEST_TEXT : OUT(テキストを返す) ===
rem ======================================================
goto METHOD_TEST_SKIP
:METHOD_TEST

set METHOD_TEST_TEXT=test0
set METHOD_TEST_TEXT=%METHOD_TEST_TEXT% test1
set METHOD_TEST_TEXT=%METHOD_TEST_TEXT% test2
set METHOD_TEST_TEXT=%METHOD_TEST_TEXT% %METHOD_TEST_SUBTEXT%

goto :%METHOD_TEST_RETURN%
:METHOD_TEST_SKIP

rem ========================================
rem === 関数呼び出し1 ===
rem ========================================
set METHOD_TEST_RETURN=METHOD_TEST_RETURN_0
set METHOD_TEST_SUBTEXT=test3
goto METHOD_TEST
:METHOD_TEST_RETURN_0
echo %METHOD_TEST_TEXT%

rem ========================================
rem === 関数呼び出し2 ===
rem ========================================
set METHOD_TEST_RETURN=METHOD_TEST_RETURN_1
set METHOD_TEST_SUBTEXT=test4
goto METHOD_TEST
:METHOD_TEST_RETURN_1
echo %METHOD_TEST_TEXT%

endlocal


上記の例の実行結果

test1 test2 test3
test1 test2 test4

スポンサーサイト



  1. 2010/01/06(水) 21:44:28|
  2. 計算機
  3. | トラックバック:0
  4. | コメント:0
<<テレビ購入 | ホーム | 映画「おくりびと」>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://mechagappa.blog14.fc2.com/tb.php/677-d54723a1
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

おげれつ脱脂綿

カレンダー

08 | 2020/09 | 10
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 - - -

カテゴリー

月別アーカイブ(タブ)

最近の記事

最近のコメント

最近のトラックバック

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

全ての記事を表示する

全ての記事を表示する