指定されたデバイス名は無効です。 -- COM0, LPT0

Windows エクスプローラーでファイルやフォルダーの名前に COM0 あるいは LPT0 を指定しようとすると「指定されたデバイス名は無効です。」というダイアログが表示され、名前を変えられない。

これは MS-DOS のころからの互換性問題で…というのは半分ほど本当。

実際には COM0 と LPT0 は予約デバイス名ではない。実際、コマンドプロンプトではこれらの名前を指定して利用できる。

> echo hello > COM0
> type COM0
hello
> del COM0

ところで COM10 以降も、実際にはポートとしては使えるらしい。ある開発では 30 を超える COM ポートを大量に用意してとあるデバイスの接続検証をおこなっていたと同僚に聞いた。

MS-DOS のころは COM1 から COM9 までしか予約されていなかったのか、気になるといえば気になる。