c#指定规则递归遍历指定目录及子目录下的所有文件

c#语言中指定规则递归遍历指定目录及子目录下的所有文件是非常常见的场景,以下是通用做法,需要的小伙伴可以根据要求修改。

        // 递归遍历指定目录及子目录下的所有.xlsx文件,并剔除以~开头的文件
        private List TraverseDirectory(string directoryPath)
        {
            List xlsxFiles = new List();

            string[] files = Directory.GetFiles(directoryPath)
                .Where(file => !file.StartsWith("~") && Path.GetExtension(file).Equals(".xlsx", StringComparison.OrdinalIgnoreCase))
                .ToArray();

            // 遍历当前目录下的所有.xlsx文件   new DirectoryInfo(directoryPath).GetFiles("*.xlsx")
            foreach (string file in files)
            {
                // 将文件路径添加到列表中
                xlsxFiles.Add(file);
            }

            // 遍历当前目录下的所有子目录
            foreach (string subdirectory in Directory.GetDirectories(directoryPath))
            {
                // 递归调用遍历子目录,并将结果合并到列表中
                xlsxFiles.AddRange(TraverseDirectory(subdirectory));
            }

            return xlsxFiles;
        }

你可能感兴趣的:(开发编程,vsto,office,c#,visualstudio)