Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

2bf280ac8fc28aa5d99de291eb8ccfbe?s=128

Endo_Hizumi

October 28, 2019
Tweet

Transcript

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    16
  17. 17

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