This is a rather weird issue that only pops up in a release build:
std.file.FileException@D:\Dlang\dmd2\windows\bin\..\..\src\phobos\std\file.d(733): 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234.cbr: The system cannot find the file specified.
Filenames up to 128 bytes work fine, anything above it throws this exception.
Building in Visual Studio 2017, output is MS-COFF. The debug build works fine.
Comment #1 by b2.temp — 2017-04-17T12:54:59Z
(In reply to Rainer Koschnick from comment #0)
> This is a rather weird issue that only pops up in a release build:
>
> std.file.FileException@D:\Dlang\dmd2\windows\bin\..\..\src\phobos\std\file.
> d(733):
> 12345678901234567890123456789012345678901234567890123456789012345678901234567
> 89012345678901234567890123456789012345678901234.cbr: The system cannot find
> the file specified.
>
> Filenames up to 128 bytes work fine, anything above it throws this exception.
>
> Building in Visual Studio 2017, output is MS-COFF. The debug build works
> fine.
Try
void removeFileEx(string filename)
{
import std.file : remove;
return remove("\\?\" ~ filename);
}
Adding the prefix turns the filename into a fully qualified name and should have for effect to remove the MAX_PATH (260 chars) limitation.
Comment #2 by arkay — 2017-04-18T15:44:13Z
Thanks for the hint, but it doesn't change anything.
Error: \\?\0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.cbz: The system cannot find the file specified.
Neither does...
Error: .\0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.cbz: The system cannot find the file specified.
Nor using a complete path...
Error: D:\_Development_\D\cbc\0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.cbz: The system cannot find the file specified.
Comment #3 by b2.temp — 2017-04-20T00:17:37Z
I meant fully qualified filename !
\\?\D:\_Development_\D\cbc\...
Comment #4 by arkay — 2017-04-20T01:00:41Z
I tried it with the path as you can see up there!
Comment #5 by robert.schadek — 2024-12-01T16:30:07Z