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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Endo_Hizumi
August 23, 2019
Technology
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
キレない変数の扱い方 /How to handle variables no anger
Endo_Hizumi
August 23, 2019
More Decks by Endo_Hizumi
See All by Endo_Hizumi
欲しいを叶える個人開発の進め方 / How to Run an Indie Project That Brings Your Ideas to Life
endohizumi
0
1.2k
JSでギャルゲー!~JavaScriptでノベルゲーエンジン作ったった~
endohizumi
1
480
意志の力が9割。アニメから学ぶAI時代のこれから。
endohizumi
1
200
JSでギャルゲーをつくろう!(第3版)
endohizumi
0
300
JSでギャルゲーをつくろう!(第2版)
endohizumi
0
99
JSでギャルゲーをつくろう!
endohizumi
0
530
テレビを飲み込め! Webの嵐!! / Swallow the TV! Web storm! !!
endohizumi
1
130
OK:Googleから始めるスマートホーム生活 / OK: Smart home life starting from Google
endohizumi
0
380
クソアプリで基礎固め / Tutorial in your joke app for Vue.js
endohizumi
0
280
Other Decks in Technology
See All in Technology
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
12
9.4k
KAEN Company Deck
kaen
PRO
0
220
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
120
「面白い!」を信じ抜け。激動の時代を貫く、オンリーワン・エンジニアの条件
kizawa2020
2
600
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
200
Sony-DroidKaigi2026
sony
0
210
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
0
1.2k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
人気商品が「ちゃんと買える」をつくる ー ECの負荷改善
ykagano
1
170
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
150
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
200
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.6k
Scaling GitHub
holman
464
140k
Navigating Team Friction
lara
192
16k
WENDY [Excerpt]
tessaabrams
12
39k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Into the Great Unknown - MozCon
thekraken
41
2.7k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Amusing Abliteration
ianozsvald
1
280
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
260
Designing Powerful Visuals for Engaging Learning
tmiket
1
520
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の中では変数参照は%の代わりに!で囲む おわり!聴いてくれてありがと!