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
220
キレない変数の扱い方 /How to handle variables no anger
Endo_Hizumi
August 23, 2019
Tweet
Share
More Decks by Endo_Hizumi
See All by Endo_Hizumi
欲しいを叶える個人開発の進め方 / How to Run an Indie Project That Brings Your Ideas to Life
endohizumi
0
550
JSでギャルゲー!~JavaScriptでノベルゲーエンジン作ったった~
endohizumi
1
320
意志の力が9割。アニメから学ぶAI時代のこれから。
endohizumi
1
160
JSでギャルゲーをつくろう!(第3版)
endohizumi
0
210
JSでギャルゲーをつくろう!(第2版)
endohizumi
0
87
JSでギャルゲーをつくろう!
endohizumi
0
440
テレビを飲み込め! Webの嵐!! / Swallow the TV! Web storm! !!
endohizumi
1
120
OK:Googleから始めるスマートホーム生活 / OK: Smart home life starting from Google
endohizumi
0
340
クソアプリで基礎固め / Tutorial in your joke app for Vue.js
endohizumi
0
250
Other Decks in Technology
See All in Technology
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
470
ナレッジワーク IT情報系キャリア研究セッション資料(情報処理学会 第88回全国大会 )
kworkdev
PRO
0
150
OCI Security サービス 概要
oracle4engineer
PRO
2
13k
マルチプレーンGPUネットワークを実現するシャッフルアーキテクチャの整理と考察
markunet
2
220
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
4
760
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.1k
Claude Codeの進化と各機能の活かし方
oikon48
22
11k
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
110
自動テストが巻き起こした開発プロセス・チームの変化 / Impact of Automated Testing on Development Cycles and Team Dynamics
codmoninc
3
1.3k
[AEON TECH HUB #24] お客様の長期的興味の理解に向けて
alpicola
0
130
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.1k
GitLab Duo Agent Platform + Local LLMサービングで幸せになりたい
jyoshise
0
220
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.9k
Thoughts on Productivity
jonyablonski
75
5.1k
30 Presentation Tips
portentint
PRO
1
250
[SF Ruby Conf 2025] Rails X
palkan
2
820
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
440
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
920
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
450
The Spectacular Lies of Maps
axbom
PRO
1
600
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
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の中では変数参照は%の代わりに!で囲む おわり!聴いてくれてありがと!