What I expected:
Ruby will create directory //?/C:/testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest, judging from http://msdn.microsoft.com/en-us/library/aa365247.aspx
What happened on the second call:
Errno::ENOENT: No such file or directory - //?/C:/testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest
from (irb):6:in `mkdir'
However, there is a general Ruby file issue related to this: Windows does not allow forward slashes for Win32 File Namespaces (\\?\ paths). Thus these paths cannot be used with any methods that use File::SEPARATOR, such as File.join since File::SEPARATOR is '/' on Windows.
(1) Windows has the limitation about the length of each directory name.
It's 255 characters.
So, even if with using UNC name, you cannot make such directory, Patrick.
(2) Yes, you are right, Eric.
Only when using "\\?\", Windows does not recognize "/" as the separator
(the document which Patrick mentioned says so.)
So, use "\" as the separator when using "\\?\" for the time being.
I would recommend that this bug be closed. However, I have not found any feature requests for better support of "\\?\". Is it worth submitting one or would this be better handled with a gem?
After all, the user using special form like "\?" should know the meaning and effect,
so ruby doesn't ought to support it.
Of course, if there is a good patch, I my accept it.