使用C#列出最长的文件路径

时间:2012-01-05 07:44:29

标签: c# .net command

我正在使用Windows XP。我需要找到具有最长路径(路径长度+文件名长度)的文件(在文件夹D:\ Test中)。我们如何使用C#找到这个?

是否有像dir,tree等命令来验证这个? 知道如何使用T-SQL做到这一点吗?

注意:可以使用xp_cmdshell从T-SQL获取目录结构

由于

Lijo

4 个答案:

答案 0 :(得分:8)

使用c#,您可以使用以下代码段检索名称最长的文件:

System.IO.Directory
  .GetFiles("D:\\Test", "*", SearchOption.AllDirectories)
  .OrderByDescending(p => p.Length)
  .FirstOrDefault()

您可以使用此PowerShell脚本验证输出:

Get-ChildItem | % { $_.FullName } | Sort-Object -Descending -Property Length

我不知道如何在T-SQL中执行此操作。但是,我不知道为什么要这样做。

答案 1 :(得分:0)

SQL与此完全无关。首先阅读DirectoryInfohere

答案 2 :(得分:0)

使用System.IO命名空间中的DirectoryInfo类获取所有文件 迭代这些文件名并检查长度是否大于先前找到的长度。

答案 3 :(得分:0)

这样的事情会做到:

private static string getLongestFilename(string path)
{
    int maxLength = 0;
    string longestFile = string.Empty;
    DirectoryInfo di = new DirectoryInfo(path);
    foreach (FileInfo fi in di.GetFiles())
    {
        if (fi.FullName.Length > maxLength)
        {
            longestFile = fi.FullName;
            maxLength = fi.FullName.Length;
        }
    }
    return longestFile;
}

它只返回第一个最长的文件名,但你明白了。