blochの日記

自虐ネタ以外のぐちは書かないようにしましょう

今度はtokens

お、コバルト磁石の不均一漏れ磁場で別々に識別するのか、、、全世界的事情で完全にヒマ人と化してしまったのでwebサーフィング。


今度はいくつかの変数を含んだ環境変数を分離したい。
pulse=3 6 80に対して、p1=3, p2=6, p3=80のように個別に取り出したい。「何文字目から何文字切り出す」のはチルダを使った作法があるが、スペースで区切られた何番目の引数を取り出すのは、またまたforコマンドのお世話になる。そしていよいよtokensの出番。昔(十数年前)、アタラシ君が使ってたやつだ。
echoさせるだけなら、「暗黙の変数定義」%a, %b, %c...を使って、一発で行くのだけれど、別々の環境変数へ切り出すには、
for /f "tokens=1" %a in ("%pulse%") do set p1=%a
for /f "tokens=2" %a in ("%pulse%") do set p2=%a
for /f "tokens=3" %a in ("%pulse%") do set p3=%a
とやれば良い。
王'様のMBLのテスト。半信半疑なのだが、昔のK先生の「今が尻の軽いのが大切」と言うお言葉を胸に金を貰ったのでちょっとやってみよう。