Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
キレない変数の扱い方 /How to handle variables no anger
Search
Endo_Hizumi
August 23, 2019
Technology
0
160
キレない変数の扱い方 /How to handle variables no anger
Endo_Hizumi
August 23, 2019
Tweet
Share
More Decks by Endo_Hizumi
See All by Endo_Hizumi
JSでギャルゲーをつくろう!(第2版)
endohizumi
0
2
JSでギャルゲーをつくろう!
endohizumi
0
52
テレビを飲み込め! Webの嵐!! / Swallow the TV! Web storm! !!
endohizumi
1
75
OK:Googleから始めるスマートホーム生活 / OK: Smart home life starting from Google
endohizumi
0
260
クソアプリで基礎固め / Tutorial in your joke app for Vue.js
endohizumi
0
160
jQuery使いがVue.jsを使った話 / thank you jQuery,Hello Vue.js
endohizumi
0
150
スマホで始めるウェブアプリ開発 / let's start web application development with a Android Device
endohizumi
1
830
キレない関数の作り方 / How to make bat function no anger
endohizumi
0
110
SwaggerでSSLCを 置き換える / Replacing SSLC with Swagger
endohizumi
0
77
Other Decks in Technology
See All in Technology
v-modelの歩みを振り返る
bengo4com
5
2.4k
RAG: from dumb implementation to serious results
glaforge
0
670
暴カワでビデオシンセサイザーを導入する技術
yuchi
2
130
AWS Step Functionsのタスク入出力に秩序を与えよう
y_kotani
0
110
KongによるAPIライフサイクル マネジメント
hashitokyo
1
160
入社半年(合計1年)でGoogle Cloud 認定を全冠した秘訣🤫
risatube
1
280
さくっと実践!Postmanを活用した高品質で持続可能なAPI管理
yokawasa
5
360
Vue.js、Nuxtの機能を使い、 大量のコピペコードをリファクタリングする
igayamaguchi
3
1.4k
Nuxt × Vue Router の力を最大限に引き出す機能を紹介
ytr0903
2
330
カメラ単体で物体の3次元 座標を扱う方法
kenmatsu4
0
170
Microsoft 365 でデータセキュリティを強化しよう
sophiakunii
2
480
エンジニア向け会社紹介資料
caddi_eng
14
270k
Featured
See All Featured
Teambox: Starting and Learning
jrom
132
8.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
Unsuck your backbone
ammeep
668
57k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Side Projects
sachag
452
42k
Transcript
キレない変数の扱い方 バッチファイル編
どうも、こんばんわ
遠藤ヒズミです
通りすがりのWebエンジニアしてます
個人的に懐かしのネタといえば
Windows Meの時に ダイアルアップ接続中に フリーズさせて親に怒られた思い出が。
キレないバッチファイル変数の扱い方
最初に バッチファイルを書くくらいなら、PowerShell スクリプト書いた方がまだ、人権があると思 うな僕は!!
バッチファイルとは • DOSコマンドを記述したテキストファイル • WindowsやMS-DOS、OS/2で定型的な作業の自動化に使われる • プログラムの起動ファイルとして用いられることもある • IFやFORなどの制御構文があり、やろうと思えばプログラムも作れる •
ラベル・call・exit /b で、関数っぽいものを作ることができる(↓)
バッチファイルの変数は癖がありすぎる • 四則演算の時は、SETコマンドに/aオプションをつける ← なるほど • 代入のイコール前後は、スペースを入れてはいけない ← なるほど? •
FORやIFの制御構文内で使うには、!で囲む必要がある ← は? • FORの一時変数はCMD直とバッチでは書き方が違う←直の時は%は1つ • コマンドの実行結果を変数に入れるには、FOR文を使う ← めんどい よく忘れてハマって、壊れてるんじゃないのこれー!?とキレそうになる。
バッチファイルの変数は癖がありすぎる • 四則演算の時は、SETコマンドに/aオプションをつける ← なるほど • 代入のイコール前後に、スペースを入れてはいけない ← なるほど? •
FORやIFの制御構文内で使うには、!で囲む必要がある ← は? • FORの一時変数はCMD直とバッチでは書き方が違う←直の時は%は1つ • コマンドの実行結果を変数に入れるには、FOR文を使う ← めんどい よく忘れてハマって、壊れてるんじゃないのこれー!?とキレそうになる。
代入のイコール前後にスペースを入れてはいけない こう書くじゃん?
代入のイコールに、スペースを入れてはいけない 実行するじゃん?
代入のイコールに、スペースを入れてはいけない ダメじゃん?
なんでじゃん?(□は、半角スペースです) SET□hoge□=□hoge 半角スペースまでが変数名扱いだから ちなみに値も半角スペース入り
こうすればいい
こうすればいい や っ た ぜ
FORやIFの制御構文内で使うには、!で囲む必要がある こう書いても
FORやIFの制御構文内で使うには、!で囲む必要がある 広がるのは、 え い え ん の ゼ ロ
なんでじゃん?(□は、半角スペースです) • FOR文は、実行時に一行になる • 実行前に、変数を展開する
つまり? ここがこんな風に10回繰り返されているだけ ココ
どうすれば? ”@setlocal enabledelayedexpansion”を、追記して %の代わりに!で変数名を囲うと、実行時に変数を展開してくれる
こうすればいい や っ た ぜ
こうすればいい や っ た ぜ
やっぱり、めんどくさいな!
まとめ • 変数代入時にスペースは不要 • FORの中では変数参照は%の代わりに!で囲む
まとめ • 変数代入時にスペースは不要 • FORの中では変数参照は%の代わりに!で囲む おわり!聴いてくれてありがと!