これまで快調に動作していた、ワタシのDOSバッチ。2021年08月になると、突然、動かなくなってしまった。新型コロナウィルスのせいではない。ワンステップずつ、動かして見ると、
SET /A MM=%DATE:~5,2%*1
のSET文で、
SET /A MM=08*1
「無効な数値です。数値定数は10進(17桁)、16進(0x11桁)、または8進(021桁)です」
というエラーが出る。昨日までちゃんと動いていたのにだ。早速、ググってみた。そして、また、先人たちの教えに助けられた。どうも、先頭に0が付くと、8進数とみなすようだ。つまり、8月になり、DATE関数から得た月を示す定数となる部分である「%DATE:~5,2%」が08という定数になってしまった。先頭に0が付いてる8進数の定数なのに、08とはけしからんというわけだ。08は8進数じゃないよと怒っているのだ、(マイクロソフト)なので、先人の教えどおりに、100を足して、100を引いてみた。つまり、
SET /A MM=1%DATE:~5,2*1-100
とワタシの方が変更してみた。これで定数部分が08になることを回避する訳だ。そしたら、見事に動いた。ここまで辿り着くのに、色々、あって半月も要した。
先頭に0があるから、8進数だと思うのは、マイクロソフトのバグ(コンピュターの黎明期の低級な言語ではよくある陳腐な前提だが、今の時代でも開き直ってる)だが、結局、直すのは、いつも、ワタシの方で、ワタシのDOSバッチである。 もう1つ疑問なのは、昨年の08月にワタシのバッチは異常を訴えなかった。もしかして、マイクロソフトは、パッチで1回修正したのに、それが最近、ハズレたのかなぁ。
ここでちょっと一息のコーナー。ベランダ菜園の唐辛子の隣に見慣れない蔓草。パプリカかと思つて引き抜いたら、じゃがいもみたいなので、戻しておいた。しばらく、様子を見ることにする。
もう1つ。関東圏からから関西圏へ引越し、はや2年。関東の醤油ラーメンが恋しい。あのキレのある、しっかりした醤油味のラーメンは、関西にはない。とても残念だ。なぜ、関西の醤油ラーメンは甘たるい醤油味なんだろうね。
0 件のコメント:
コメントを投稿