如果我有这样的路径:
C:\Program Files (x86)\basic\data\
并在此路径文件夹中这样:
20160314_002_874
20160314_004_657
20160314_006_169
20160315_006_169
20160316_006_169
如何获取这些文件夹中所有文件名,这些文件夹的日期部分名称=特定日期
Ex:
我希望文件夹中的所有文件名都以列表中的以下日期(20160314
)开头。
答案 0 :(得分:2)
使用DirectoryInfo
:
using System.Collections.Generic;
using System.IO;
List<FileInfo> files = new List<FileInfo>();
DirectoryInfo rootDir = new DirectoryInfo(@"C:\Program Files (x86)\basic\data\");
var directories = rootDir.GetDirectories("20160314*");
foreach (var directory in directories)
{
files.AddRange(directory.GetFiles());
}
IEnumerable<string> fileNames = files.Select(f => f.Name);
使用IEnumerable<string> fileNames = files.Select(f => f.FullName);
获取带路径的文件名。
答案 1 :(得分:1)
let data = Data(bytes: array)
let string = String(data: data, encoding: .utf8)
您将获得与此日期匹配的所有子目录: var dirs = Directory.GetDirectories(myPath).Where(x => x.StartsWith(20160314));
dirs.ForEach(xx => {
var fullPath = Path.Combine(myPath, xx);
var files = Directory.GetFiles(fullPath);
//Files is a string[], do whatever you want
});
。之后,您可以通过将原始路径与目录名称合并并使用20160314
获取文件名列表来获取文件。