Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
キレない変数の扱い方 /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
230
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.3k
JSでギャルゲー!~JavaScriptでノベルゲーエンジン作ったった~
endohizumi
1
520
意志の力が9割。アニメから学ぶAI時代のこれから。
endohizumi
1
210
JSでギャルゲーをつくろう!(第3版)
endohizumi
0
340
JSでギャルゲーをつくろう!(第2版)
endohizumi
0
110
JSでギャルゲーをつくろう!
endohizumi
0
570
テレビを飲み込め! Webの嵐!! / Swallow the TV! Web storm! !!
endohizumi
1
140
OK:Googleから始めるスマートホーム生活 / OK: Smart home life starting from Google
endohizumi
0
390
クソアプリで基礎固め / Tutorial in your joke app for Vue.js
endohizumi
0
280
Other Decks in Technology
See All in Technology
【dbts2026】AIエージェントの 判断と探索を変える、 データベース エンジニアリング― 既存DBの処理と依存関係から作る、オペレーショナルオントロジー ―
shisyu_gaku
0
190
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
180
SLOを阻む不安
sraku2159
0
220
`go get`したらELFが降ってきた件
taiyow
0
180
TSKaigi Sendai 2026 - tsgo時代のTypeScript Playgroundはどう動くか
teamlab
PRO
0
100
IBC 2026 動画技術関連レポート / IBC 2026 Report
cyberagentdevelopers
PRO
2
440
Sinatra on PicoRuby ローカルでセルフホスト
bash0c7
0
100
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
0
340
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
150
令和の今、あらためて IAM を考える。アクセスキーを「無くせない現実」との向き合い方
kazzpapa3
0
290
今から始めるAWS環境の暗号移行 - ポスト量子時代に備える
sato4mi
0
150
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
4
2.9k
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
370
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Documentation Writing (for coders)
carmenintech
77
5.6k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
We Are The Robots
honzajavorek
0
430
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
330
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
560
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
810
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
440
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
290
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
430
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の中では変数参照は%の代わりに!で囲む おわり!聴いてくれてありがと!