ファイル名 " " の謎

ふと、WindowsXPで dir " " を打って見る。

C:\WINDOWS\TEMP>dir " "
ファイル名または拡張子が長すぎます。

C:\WINDOWS\TEMP>type " "
指定されたパスが見つかりません。

C:\WINDOWS\TEMP>echo > " "
指定されたパスが見つかりません。

少なくとも dir のはよくわからないエラーメッセージである。ren " " A や del " " も同じ。
type のも存在しないファイルを指定したときとは異なる。存在しないディレクトリ配下のファイルを指定したときと同じメッセージである。
echo のもライトオープンのエラーメッセージとしてはいかがなものか。

ちなみに、Borland C++ で、fopen(" ","w"); perror("fopen"); してみると、

fopen: No such file or directory

と、これもライトオープンのエラーメッセージとしてはいかがなものか。


Windows2000だと、

C:\WINNT\Temp>dir " "
指定されたパスが見つかりません。

C:\WINNT\Temp>echo >" "
指定されたパスが見つかりません。

と、dir のエラーメッセージが異なる。しかしこれも、存在しないファイルを指定した dir コマンドの出力とは異なる。


WindowsXPの、「ファイル名または拡張子が長すぎます。」というメッセージは何を意味するのか?また、何故Windows2000から仕様変更されたのか?
もしかして、ファイル名 " " はディレクトリ扱いなのか?