cygpath and unc paths
Federico Kircheis
federico@kircheis.it
Mon Dec 9 12:47:56 GMT 2024
On 09/12/2024 12.46, Corinna Vinschen via Cygwin wrote:
> On Dec 6 13:23, Federico Kircheis via Cygwin wrote:
>> Hello,
>>
>> was it considered to add a flag to cygpath to output a path in unc format?
>
> No. But it wouldn't be much work.
It would be very nice if it ever happens.
>> For example, the folder
>>
>> C:\test.
>>
>> cannot be accessed from many Windows applications (powershell and cmd
>> included) because of the trailing dot, while cygwin has no issue creating,
>> accessing and deleting such files/folders.
>>
>> Using an unc path
>>
>> \\?\C:\test.
>>
>> solves the issue for some programs, but cygpath currently misses an option
>> for creating such path.
>
> As a workaround you can just prepend the long path prefix:
>
> echo -n '\\?\'; cygpath ...
Which is what I'm doing, plus special-casing
1)
root path, like C:\ , because for whatever reason \\?\C:\ is not valid,
it has to be a subfolder (and trying to trick it with \\?\C:\\ does not
work either).
2)
unmounted network drives (\\server\path)
I'm not sure how a --unc should handle those cases.
For all things I have in mind, not appending \\?\ is preferred, but
someone might expect a hard error.
Either way, it is another reason why it makes sense for cygpath to
handle those cases, currently I have to parse it's output before
prepending '\\?\'.
>> Notice that creating a dos path leads to an error.
>
> I don't understand. Creating which DOS path with which application?
I meant that it is not possible to create a DOS path to C:\test., thus
using a dos path is not a viable workaround to unc:
----
> cd 'C:/test.'
> cygpath -ws .
cygpath: cannot create short name of .
----
More information about the Cygwin
mailing list