我的要求是我有一个主文件夹,该文件夹下有一组子文件夹。预计这些子文件夹将具有“ FileServer.config”文件。我需要对此进行验证,如果文件丢失,则发出一条消息。
MainFolder->包含子文件夹1,子文件夹02和子文件夹03。
因此,当用户单击时说例如SubFolder01,我不想验证该文件是否存在于该文件夹中
目前在代码中,我一次对所有文件夹进行了代码扫描,并且输出基于第一个文件夹
string path =@ "D:\TEST\PROJ\Repo\";
DirectoryInfo directory = new DirectoryInfo(path);
DirectoryInfo[] subDirectories = directory.GetDirectories();
foreach(DirectoryInfo folder in subDirectories)
{
string subpath = Path.Combine( @ "D:\TEST\PROJ\Repo\", folder.Name);
string[] filePaths = Directory.GetFiles(subpath, "fileserver.config");
if(filePaths.Any())
Console.WriteLine(subpath);
}
答案 0 :(得分:0)
这将起作用:
string path = @"D:\TEST\PROJ\Repo\";
DirectoryInfo directory = new DirectoryInfo(path);
foreach (DirectoryInfo folder in directory.GetDirectories())
{
var files = folder.GetFiles("fileserver.config");
if (files.Length > 0)
Console.WriteLine(folder.Name);
}
答案 1 :(得分:0)
您说用户单击子目录(元素),因此我假设您获得了具体的文件夹路径。要验证特定文件夹中是否存在某个文件,请尝试
public bool FileExistsInFolder(string folderPath, string filename)
{
return Directory.Exists(folderPath)
&& Directory.GetFiles(folderPath, fileName).Any();
}