Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
キレない変数の扱い方 /How to handle variables no anger
Endo_Hizumi
August 23, 2019
Technology
0
77
キレない変数の扱い方 /How to handle variables no anger
Endo_Hizumi
August 23, 2019
Tweet
Share
More Decks by Endo_Hizumi
See All by Endo_Hizumi
テレビを飲み込め! Webの嵐!! / Swallow the TV! Web storm! !!
endohizumi
1
64
OK:Googleから始めるスマートホーム生活 / OK: Smart home life starting from Google
endohizumi
0
170
クソアプリで基礎固め / Tutorial in your joke app for Vue.js
endohizumi
0
110
jQuery使いがVue.jsを使った話 / thank you jQuery,Hello Vue.js
endohizumi
0
110
スマホで始めるウェブアプリ開発 / let's start web application development with a Android Device
endohizumi
1
630
キレない関数の作り方 / How to make bat function no anger
endohizumi
0
64
SwaggerでSSLCを 置き換える / Replacing SSLC with Swagger
endohizumi
0
66
Server-sent eventsを使ってみた / I tried using Server-sent event
endohizumi
1
790
Netlifyで、ポートフォリオをつくってみた
endohizumi
0
72
Other Decks in Technology
See All in Technology
ML PM, DS PMってどんな仕事をしているの?
line_developers
PRO
1
240
💰年度末予算消化祭💰 Large Memory Instance で 画像分類してみた
__allllllllez__
0
100
日経電子版だけじゃない! 日経の新規Webメディアの開発 - NIKKEI Tech Talk #3
sztm
0
320
NGINXENG JP#2 - 1-NGINX-エンジニアリング勉強会-きょうの見どころ
hiropo20
0
110
【Λ(らむだ)】WinActorから始めるいつのまにリスキリング / WinAtorライトニングトーク大会20230123
lambda
0
100
Raspberry Pi Camera 3 介紹
piepie_tw
PRO
0
150
初めてのデータ移行プロジェクトから得た学び
tjmtmmnk
0
320
USB PD で迎える AC アダプター大統一時代
puhitaku
2
1.9k
OpenShift.Run2023_create-aro-with-terraform
ishiitaiki20fixer
1
280
230125 古いタブレットの活用 かーでぃさん
comucal
PRO
0
16k
01_ユーザーリサーチ実施の進め方
kouzoukaikaku
0
470
Logbii(ログビー) 会社紹介
logbii
0
130
Featured
See All Featured
Clear Off the Table
cherdarchuk
79
290k
Mobile First: as difficult as doing things right
swwweet
213
7.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
74
4.3k
Streamline your AJAX requests with AmplifyJS and jQuery
dougneiner
128
8.8k
No one is an island. Learnings from fostering a developers community.
thoeni
12
1.5k
Navigating Team Friction
lara
177
12k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
109
16k
Atom: Resistance is Futile
akmur
256
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
32
6.7k
Ruby is Unlike a Banana
tanoku
93
9.5k
Art Directing for the Web. Five minutes with CSS Template Areas
malarkey
196
9.8k
GraphQLの誤解/rethinking-graphql
sonatard
39
7.8k
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の中では変数参照は%の代わりに!で囲む おわり!聴いてくれてありがと!