Por que o shell cmd.exe no Windows falha com caminhos usando um separador de caminho de barra ('/' ')?

Apenas quando eu pensei que tinha visto tudo com problemas de caminho do Windows, eu encontrei um caso que só falha quando '/' (barra) é usado quando o separador de caminho é usado:

<code>C:\temp\tcbugs>mkdir "dir1 with spaces"

C:\temp\tcbugs>echo hi > "dir1 with spaces"\foo.txt

C:\temp\tcbugs>type "dir1 with spaces\foo.txt"
hi

C:\temp\tcbugs>type "dir1 with spaces/foo.txt"
The system cannot find the file specified.
</code>

O que é particularmente interessante sobre isso é que ele parece ser específico para o shell cmd.exe e não ocorre no PowerShell (nem presumivelmente na API do win32):

<code>PS C:\temp\tcbugs> type 'dir1 with spaces/foo.txt'
hi
</code>

Outro ponto de interesse é que alterar diretórios com 'cd' e usar '/' usado como um separador de caminho com cmd.exe funciona:

<code>C:\temp\tcbugs>mkdir dir2_no_spaces

C:\temp\tcbugs>cd ./dir2_no_spaces

C:\temp\tcbugs\dir2_no_spaces>cd ..
</code>

No entanto, não consigo encontrar nenhuma referência a esse problema específico em qualquer lugar on-line nem na documentação comumente citada do MSDN:

Nomeando Arquivos, Caminhos, Namespaces

O que me leva a perguntar: por que isso acontece, e existe uma fonte definitiva que documenta essa peculiaridade?

ATUALIZAR:

dbenham aponta que o problema está presente, independentemente de os espaços estarem em um nome de diretório, portanto, foi removida a referência a ele no título e no corpo da pergunta. Também adicionei um exemplo de 'cd ./' que funciona, enquanto outros comandos não.

questionAnswers(3)

yourAnswerToTheQuestion