On Saturday, 15 September 2018 at 10:05:26 UTC, Josphe Brigmo wrote:
Yes, I did that and it worked for some(most) things it seems but rmdir, for example, seems to fail.

If the file path is passed verbatim to the OS API, and it still doesn't work, then the problem is with the OS or the API, not D.

Also, windows 10 does not have this problem

What do you mean by "windows 10"? Do you mean Explorer, the default file manager?

Some reasons why it might work whereas the API doesn't:

- It's using workarounds, like the \\?\ prefix, or moving/renaming the object to a shorter name before deleting it.
- It's using a newer API, like WinRT (introduced in Windows 8).
- It's using a secret Microsoft API.

If it did I wouldn't have had this problem and wasted a day of my life trying to figure out what is going on(I didn't design my program around having to hack such things, I just assumed they would work, because, after all, they should, right?).

I, too, spent a LOT of time fighting the Windows filesystem APIs. See e.g. * https://dump.thecybershadow.net/d78d9911adc16ec749914b6923759454/longpathdelete.d (that also sets ownership/ACLs via external processes, as the C API is unreasonably complicated).

The problem is 100% due to Windows.

It was one of the big reasons why I moved to Linux for software development. Such problems do not exist there.

Reply via email to