You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C#控制台应用程序获取文件夹下仅含扩展名的Excel文件名

解决方案

方案1:使用Path.GetFileName方法(推荐,最简实现)

System.IO.Path 类内置的 GetFileName 方法可以直接从完整文件路径中提取出带扩展名的文件名,只需对你原有代码做少量修改即可:

using System.IO;

public static void getExcelFileName()
{
    string[] fileFullPaths = Directory.GetFiles(@"C:\Users\Ashok Kumar\OneDrive\Desktop\Ashok\MarketPrice\NSE\Futures\Live", "*.csv");
    foreach (var fullPath in fileFullPaths)
    {
        // 提取带扩展名的文件名
        string fileName = Path.GetFileName(fullPath);
        Console.WriteLine(fileName);
    }
}

运行后输出的就是 2021070701.CSV 这类你需要的格式。

方案2:使用FileInfo类的Name属性(你尝试过的方案的正确写法)

你之前用FileInfo没有得到想要的结果,是因为没有调用它的Name属性,正确实现如下:

using System.IO;

public static void getExcelFileName()
{
    DirectoryInfo targetDir = new DirectoryInfo(@"C:\Users\Ashok Kumar\OneDrive\Desktop\Ashok\MarketPrice\NSE\Futures\Live");
    FileInfo[] csvFiles = targetDir.GetFiles("*.csv");
    foreach (var file in csvFiles)
    {
        // Name属性即为带扩展名的文件名
        Console.WriteLine(file.Name);
        // 如果后续需要用到完整路径,可调用file.FullName
    }
}

可选拓展:严格匹配扩展名大小写

Windows系统下GetFiles的*.csv筛选默认不区分大小写,如果需要只返回后缀为大写.CSV的文件,可以额外加一层过滤:

var csvFiles = Directory.GetFiles(@"你的目标路径", "*.csv")
                .Where(f => Path.GetExtension(f).Equals(".CSV", StringComparison.Ordinal));

内容的提问来源于stack exchange,提问作者Ashok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 23:54:03