如何检索目录中的所有文件名?

maf*_*afu 15 .net c# directory filenames

如何检索与目录中的模式匹配的所有文件名?我试过这个,但它返回完整路径而不是文件名.

Directory.GetFiles (path, "*.txt")
Run Code Online (Sandbox Code Playgroud)

我是否必须手动裁剪结果的目录路径?它很简单,但也许有一个更简单的解决方案:)

Gri*_*rif 34

foreach (string s in Directory.GetFiles(path, "*.txt").Select(Path.GetFileName))
       Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)


Mic*_*ins 12

假设您正在使用C#,DirectoryInfo类将对您更有用:

DirectoryInfo directory = new DirectoryInfo(path);
FileInfo[] files = directory.GetFiles("*.txt");
Run Code Online (Sandbox Code Playgroud)

FileInfo类包含一个Name返回不带路径的名称的属性.

有关详细信息,请参阅DirectoryInfo文档FileInfo文档.


Nic*_*ler 8

你想通过子目录进行递归吗?用途Directory.EnumerateFiles:

var fileNames = Directory.EnumerateFiles(@"\", "*.*", SearchOption.AllDirectories);
Run Code Online (Sandbox Code Playgroud)