$30 off During Our Annual Pro Sale. View Details »

キレない関数の作り方 / How to make bat function no anger

キレない関数の作り方 / How to make bat function no anger

Endo_Hizumi

October 28, 2019
Tweet

More Decks by Endo_Hizumi

Other Decks in Technology

Transcript

  1. キレない関数の作り方
    〜バッチファイル編〜
    インターネット老人会 LT #2 遠藤ヒズミ

    View Slide

  2. 目的
    ● バッチファイルは、変数やIFやFORの制御構文、関数もどきを作れる
    ● つまり、バッチファイルでプログラミングできる。
    ● しかし、他の言語と違う癖のため、気楽に始めるとストレスでハゲる
    2

    View Slide

  3. このスライドの内容は、以下のブログの抜粋です。
    3

    View Slide

  4. 目的
    ● バッチファイルは、変数やIFやFORの制御構文、関数もどきを作れる
    ● つまり、バッチファイルでプログラミングできる。
    ● しかし、他の言語と違う癖のため、気楽に始めるとストレスでハゲる
    ➡キレて禿げないためのスライドです
    4

    View Slide

  5. 作り方
    ● ラベルとexit /bコマンドで関数もどきができる
    ● ラベルの前にexit /bを置いておく
    ● 置かないと呼んでないのにラベル以降の行に処理が進んでしまう
    5

    View Slide

  6. 呼び出し方
    ● callコマンドにラベル名を渡す
    6

    View Slide

  7. 呼び出し方(引数付き
    ● callコマンドにラベル名と値を渡す
    7

    View Slide

  8. ● 正確にはみんな大好き終了コード
    ● exit /b の後に数値を入れる
    ● %ERRORLEVEL%を参照して取得
    戻り値の取り方
    8

    View Slide

  9. ● setlocal / endlocalで囲む
    ● 中の変数は外からは呼べない
    ローカル変数の宣言
    9

    View Slide

  10. ● ラベルとexit /bで関数もどきが宣言できる
    ● 宣言したもどきはcallコマンドで呼び出せる
    ● setlocal / endlocalで囲むと中だけで有効な変数が宣言できる
    まとめ
    10

    View Slide

  11. ● ラベルとexit /bで関数もどきが宣言できる
    ● 宣言したもどきはcallコマンドで呼び出せる
    ● setlocal / endlocalで囲むと中だけで有効な変数が宣言できる
    まとめ
    11
    スタート
      LTの終了

    View Slide

  12. ● ラベルとexit /bで関数もどきが宣言できる
    ● 宣言したもどきはcallコマンドで呼び出せる
    ● setlocal / endlocalで囲むと中だけで有効な変数が宣言できる
    まとめ
    12
    スタート
      LTの終了

    View Slide

  13. ● ラベルとexit /bで関数もどきが宣言できる
    ● 宣言したもどきはcallコマンドで呼び出せる
    ● setlocal / endlocalで囲むと中だけで有効な変数が宣言できる
    まとめ
    13
    LTの終了 X
    次の方法で終了してもよろしいでしょうか?
    LTを終了できる状態にする
    LTをやり直す
    はい(Y いいえ(N ヘルプ(H
    PowerShellモードでLTをやり直す

    View Slide

  14. ● ラベルとexit /bで関数もどきが宣言できる
    ● 宣言したもどきはcallコマンドで呼び出せる
    ● setlocal / endlocalで囲むと中だけで有効な変数が宣言できる
    まとめ
    14
    LTの終了 X
    次の方法で終了してもよろしいでしょうか?
    LTを終了できる状態にする
    LTをやり直す
    はい(Y いいえ(N ヘルプ(H
    PowerShellモードでLTをやり直す

    View Slide

  15. ● ラベルとexit /bで関数もどきが宣言できる
    ● 宣言したもどきはcallコマンドで呼び出せる
    ● setlocal / endlocalで囲むと中だけで有効な変数が宣言できる
    まとめ
    15
    LTの終了 X
    次の方法で終了してもよろしいでしょうか?
    LTを終了できる状態にする
    LTをやり直す
    はい(Y いいえ(N ヘルプ(H
    PowerShellモードでLTをやり直す

    View Slide

  16. ● ラベルとexit /bで関数もどきが宣言できる
    ● 宣言したもどきはcallコマンドで呼び出せる
    ● setlocal / endlocalで囲むと中だけで有効な変数が宣言できる
    まとめ
    16

    View Slide

  17. 17

    View Slide

  18. LTを終了する準備ができました
    18

    View Slide