Просто, когда я думал, что видел все это с проблемами пути Windows, теперь я столкнулся с ситуацией, которая только терпит неудачу, когда используется '/' (forward-slash), когда используется разделитель путей:
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.
Что особенно интересно в этом, так это то, что он определен для оболочки cmd.exe и не встречается в PowerShell (и, предположительно, в win32 API):
PS C:\temp\tcbugs> type 'dir1 with spaces/foo.txt'
hi
Еще одна интересная проблема заключается в том, что смена директорий с 'cd' и использование '/', используемых в качестве разделителя путей с cmd.exe, работает:
C:\temp\tcbugs>mkdir dir2_no_spaces
C:\temp\tcbugs>cd ./dir2_no_spaces
C:\temp\tcbugs\dir2_no_spaces>cd ..
Тем не менее, я не могу найти ссылку на эту конкретную проблему в любом месте в Интернете или в общедоступной документации MSDN:
Именование файлов, путей, пространств имен
Что заставляет меня спросить: почему это происходит, и есть ли окончательный источник, который документирует эту причуду?
UPDATE:
dbenham указывает, что проблема присутствует независимо от того, находятся ли пробелы в имени каталога, поэтому удалили ссылку на нее в заголовке и в теле вопроса. Также добавлен пример "cd./", который работает, а другие команды этого не делают.