如果路径等于文件夹名称,如何检查条件?



>路径 = c:\users\source\reports\projects\ .file

如何检查文件夹名称 == "报告"中的项目文件夹?

例如: 如果(报告( .....做一个条件

可以使用System.IO.Path类中的GetDirectory()Filename()方法,如下所示:

string path = @"c:userssourcereportsprojects.file";
string parent = Path.GetDirectory(path);
// parent == "@"c:userssourcereportsprojects"
string grandparent = Path.GetDirectory(parent);
// grandparent == "@"c:userssourcereports"
string filename = Path.Filename(grandparent);
// filename == "reports"

现在您可以检查filename是否"reports"

一种方法是使用System.IO.DirectoryInfo类,可以使用路径字符串实例化。此类具有表示目录的属性,包括Parent,它返回父文件夹的新DirectoryInfo。它还有一个Name属性,它是文件夹的名称(不要与FullName混淆,这是文件夹的完整路径,我们不需要(。

所以,在你的例子中,我们需要ParentParent,然后将Name"reports"进行比较:

var path = @"c:userssourcereportsprojectsFileName.ext";
if (new DirectoryInfo(path).Parent.Parent.Name == "reports")
{
Console.WriteLine("found it!");
}

如果你想做一个更详细的搜索,比如第一个Parent被称为"项目",你也可以这样做。这也显示了如何进行不区分大小写的比较,这可能是一个好主意:

var path = @"c:userssourcereportsprojectsFileName.ext";
var dirInfo = new DirectoryInfo(path);
if (dirInfo.Parent.Name.Equals("projects", StringComparison.OrdinalIgnoreCase) &&
dirInfo.Parent.Parent.Name.Equals("reports", StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine("The file is in 'projects', which is in the 'reports' folder.");
}

相关内容

  • 没有找到相关文章

最新更新