欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

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

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