要超過c#中的最大路徑限制,您顯然需要將驅動器路徑與@"\\?\"
連接起來。如果我這樣做,那麼我與在前面避免最大字符數限制c#
\\\\?\\\\\\server\\share\\...
現在如果我期待已久的文件/文件夾,因爲在路徑非法charachters它會失敗以下驅動器路徑(我假設?
)那麼我如何才能正確地採用微軟網站(http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx)中列出的方法?
foreach (string filePath in Directory.GetFiles(folder))
{
String s = @"\\?\" + filePath;
if (filePath.Length > 255)
{
Console.WriteLine(filePath);
}
if (File.Exists(filePath))
{
FileInfo finfo = new FileInfo(s);
folderSize += finfo.Length;
}
}
foreach (string dir in Directory.GetDirectories(folder))
folderSize += GetDirectorySize(dir);
你可以在你嘗試使用長路徑的地方顯示一些代碼嗎?你是在創建一個文件或文件夾還是讀取嵌套在很長路徑中的現有文件?閱讀下面的答案。 –
我想計算一組共享驅動器的大小,它們在某些情況下非常大,因此路徑通常超過255個字符 – James