大部分在 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 欢迎小伙伴访问


本文会经常更新,请阅读原文: https://dotnet-campus.github.io//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.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

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