デバイス名のオープンに関する生 DOS と DOS 窓の非互換性、あるいは FEPCTRL が NT 系 Windows の DOS 窓でうまく動かない件についての覚書

なげえよおい。しかしもう眠くてあまり言葉がでません。
後で書くことにしてひとまずサンプルプログラムをどうぞ。基本的には、適当なファイル名のファイルをオープンして、それがファイルかデバイスか調べるっていうだけのプログラムです。
chkdev.zip

オプション -t をつけて実行すると、ドライブ名としてありえない文字をドライブ名に指定して、ファイル(デフォルトでは CON)をオープンしようとします。純正 DOS はデバイスオープンのときにドライブ名やディレクトリや拡張子を無視するのでどんなドライブ名を指定しても CON(コンソールデバイス)がオープンできてしまうのですが、Win95 や 2000 の DOS などだと受け付けないドライブ名もあるようです。FEPCTRL はこのへんの機能をつかって FEP(IME) の判定を行っているので、NT 系の DOS 窓だとうまく動かないかもしれない、という話。

ちなみに FreeDOS も、無効なドライブ名を指定するとまったくデバイスをオープンできない。

ここまで書いてとりあえず寝る。