作者: davi
日時: 2007/11/01(18:45)
Bruce.さん  <  こん??は でび です

On Thu,  1 Nov 2007 12:52:19 +0900 (JST)
kbk@... (Bruce.) wrote:

# あきらめない。

> 連結する → "0000%%i"

awkのprintf(%04d,〜)とは違って、単に貼り付けるだけで、
10だとx="000010"になるんですね。
だから後ろからとるのか…。

> 適当な変数にセットする → set x="0000%%i"
> そこから必要な桁数を取り出す → !x:~-5,-1!

ここの!を否定演算子だと思いこんでいたのがハマリの原因でした。

教えていただいた

> 全般 - CMD.EXE TIPs
> http://it-is-it.net/CMD/%C1%B4%C8%CC/

に

|! による環境変数の展開
|単独の ! がありその後に ! が出てくれば、環境変数展開と見なす。
|:~ が途中にあれば部分文字列の修飾で、: = がこの順に途中にあれば
|文字列置換の修飾である。

とあって、やっと理解。

CMD、めがっさすげー。

> なぜに xor?

以前、古いCD-ROM版電子辞書のハックをしたくて、ちょっと勉強したの。
ビット演算って、その時くらいしか意識したことがなかったので。

> Zazelさんの発言にあるようにこれは数値データのビットの反転です。

> > 以下も同様だけど、ここでの数値って2進、10進、16進の
> > どれを指すのか?と。
> 
> 断りがなければ十進でしょう。

SET /? に書かれていたのを先ほど見つけました。
調査不足でした。すんません。

でび  http://homepage1.nifty.com/davi/