コマンドラインでのファイル名補完

もうひとつ困ったことがWindowsのコマンドプロンプト*1にある。
タブキーでファイル名補完ができるのだが、

C:\> FOO < BAR.TXT

などと入力する場合、

C:\> FOO < B

ここまで入力して補完機能を使うと、入力したい通りに補ってくれるのだが、

C:\> FOO <B

のように、スペースを入れずに補完しようとすると、

C:\> FOO BAR.TXT

になってしまう。
気が付かずエンターするとリダイレクトしたつもりがそうなっていないということになる。

C:\> FOO <BAR.TXT

と全部手打ちした場合、思ったとおりに実行することができ、
スペースを空ける必要はcmdの文法上ないのだが、
補完機能が入力を思ってもみない形で破壊してしまうのだ。
例えばbashならスペースを空けなくてもリダイレクト記号が消えるような事態にはならない。

*1:ここではXPでの話