检查相对路径是否为目录、向导或文件
本文关键字:向导 文件 相对 路径 是否 检查 | 更新日期: 2023-09-27 18:16:32
给定一个路径(可能是相对的),我如何能够检查该路径是目录、向导还是文件?它们可能不存在这让我很难找到解决办法。
我以前的解决方案是检查路径是否像这样的扩展:
public bool IsDirectory(string path)
{
var extension = Path.GetExtension(path);
return string.IsNullOrEmpty(extension);
}
但是我发现这个路径通常也是一个指向guid的路径,所以上面的内容是不正确的。
有没有更好的方法,我可以写一个函数来检查所有这些情况?
这将首先检查它是一个文件还是一个路径,如果不是,我们将尝试解析它作为一个向导。
if(File.Exists(path))
{
FileAttributes attr = File.GetAttributes(path);
if (attr.HasFlag(FileAttributes.Directory))
MessageBox.Show("Its a directory");
else
MessageBox.Show("Its a file");
}
else
{
Guid guid;
if (Guid.TryParse(path, out guid))
MessageBox.Show("Its a Guid");
}