用c#列出最长的文件路径

本文关键字:文件 路径 | 更新日期: 2023-09-27 18:19:25

我用的是Windows XP。我需要找出文件(在文件夹D:'Test)最长的路径(路径长度+文件名长度)。我们如何使用c#来发现这一点呢?

是否有像dir, tree等命令来验证这一点?知道怎么用T-SQL吗?

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

感谢

Lijo

用c#列出最长的文件路径

使用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中这样做。然而,我不知道为什么要这样做。

SQL与此完全无关。从这里阅读DirectoryInfo类开始

使用System中的DirectoryInfo类。IO命名空间获取所有文件遍历这些文件名并检查长度是否比之前找到的长度更大。

可以这样做:

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;
}

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