1

所以,我正在尝试创建以下目录:

d:\temp\ak\ty\nul

路径在循环中构造,从:d:\temp等开始,一路创建不存在的目录,所以它首先创建:

d:\温度\ak

然后:

d:\temp\ak\ty

并且....然后谈到最后一位nul它抛出这个异常:

在此处输入图像描述

那么,发生了什么事 - 它从哪里拿走了\.\nul

编码:

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);
4

2 回答 2

6

在 Windows 中,nul是保留的文件名。没有文件或目录可以这样命名。其他保留名称包括:

  • con
  • prn
  • aux
  • com{0-9}
  • lpt{0-9}
于 2021-09-13T18:10:54.167 回答
2

'nul' 是一个设备文件,这意味着没有文件/文件夹可以具有该名称。代替

string z_extra_path = "nul";

尝试

string z_extra_path = "null";

或者

string z_extra_path = "";

其他的是
  • con
  • aux
  • com1-9
  • lpt1-9
  • prn
于 2021-09-13T18:07:28.263 回答