【发布时间】:2013-07-18 19:53:18
【问题描述】:
出于测试目的,我想在磁盘上创建一个超过 Windows MAX_PATH 限制的目录。 我该怎么做?
(我尝试过 Powershell、cmd、windows explorer => 被阻止了。)
已编辑: 使用 ZetaLongPaths 库中的 ZlpIOHelper 可以做到这一点,而标准 Directory 类会抛出可怕的异常:
static void Main(string[] args)
{
var path = @"d:\temp\";
var dirName = "LooooooooooooooooooooooooooooooooooooooooooooongSubDirectory";
while (path.Length <= 280)
{
path = Path.Combine(path, dirName);
ZlpIOHelper.CreateDirectory(path); //Directory.CreateDirectory(path);
}
Console.WriteLine(path);
Console.ReadLine();
}
【问题讨论】:
-
在 C# 中试试这个库:zetalongpaths.codeplex.com/....or 如果它在 WIN32 中,那么你需要使用特殊前缀来允许更长的文件名。见:msdn.microsoft.com/en-us/library/aa365247.aspx
-
在一些 API 方法中有一条注释,您可以使用带有 Unicode 调用的“\\?\”作为长路径的前缀,但我不知道这是否会转化为命令-线工具