Skip to content

用 C# 写脚本 如何输出文件夹内所有文件名

Updated: at 08:22,Created: at 00:06

大部分在 Windows 下的脚本都是使用 bat 或 cmd 写的,这部分的脚本对我来说可读性不好。这个可读性也是很主观的,对我来说用 C# 写脚本的可读性很强,但是换个小伙伴就不是了。在 .NET Core 下的 C# 可以通过 dotnet run 运行代码起来,此时特别适合用来写脚本

我需要输出一个文件夹里面的根目录的所有文件,输出一个文件夹的顶层文件的方法可以使用 Directory.GetFiles 拿到文件夹的顶层文件,然后遍历输出。此时注意需要引用 System.IO 命名空间

using System.IO;
static void Main(string[] args)
{
var folder = @"e:\lindexi\";
foreach (var file in Directory.GetFiles(folder))
{
Console.WriteLine(file);
}
Console.Read();
}

这就是整个脚本的核心代码了,十分简单,通过 dotnet run 命令就可以跑起来

额外的,在 Directory.GetFiles 可以输入通配符进行选择输出的文件

foreach (var file in Directory.GetFiles(folder, "*.enbx"))
{
Console.WriteLine(file);
}

如上面代码就输出文件夹里面后缀是 .enbx 的文件

如果想要遍历所有的子文件夹的文件,可以通过加上 SearchOption.AllDirectories 参数

foreach (var file in Directory.GetFiles(folder, "*.enbx", SearchOption.AllDirectories))
{
Console.WriteLine(file);
}

本文代码放在 github 欢迎小伙伴访问


知识共享许可协议

原文链接: http://blog.lindexi.com/post/%E7%94%A8-C-%E5%86%99%E8%84%9A%E6%9C%AC-%E5%A6%82%E4%BD%95%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6%E5%A4%B9%E5%86%85%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E5%90%8D

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系