Home > Back-end >  System.IO.Directory.CreateDirectory - weirdest exception ever
System.IO.Directory.CreateDirectory - weirdest exception ever

Time:09-16

so, I'm trying to create a following directory:

d:\temp\ak\ty\nul

Path is constructed in the loop, starting from: d:\temp and so on, creating non-existent directories along the way, so it first creates:

d:\temp\ak

then:

d:\temp\ak\ty

and.... then it comes to the last bit nul it throws this exception:

enter image description here

So, what's going on - where it took \.\nul from?

The code:

string z_base_path = @"d:\temp\ak\ty";
string z_extra_path = "nul";
string z_full_path = System.IO.Path.Combine(z_base_path, z_extra_path);

System.IO.Directory.CreateDirectory(z_full_path);

CodePudding user response:

In Windows, nul is a reserved file name. No file or directory may be named that. Other reserved names include:

  • con
  • prn
  • aux
  • com{0-9}
  • lpt{0-9}

CodePudding user response:

the 'nul' is a device file meaning that no file/folder can have that name. instead of string z_extra_path = "nul"; try string z_extra_path = "null"; or string z_extra_path = "";

  • Related