在C#中,如何检查目录或其子目录中是否存在特定文件?如何检查目录或其任何子目录中是否存在特定文件
System.IO.File.Exists似乎只接受一个没有重载搜索子目录的参数。
我可以使用SearchOption.AllDirectories超载与LINQ和System.IO.Directory.GetFiles做到这一点,但似乎有点重手。
var MyList = from f in Directory.GetFiles(tempScanStorage, "foo.txt", SearchOption.AllDirectories)
where System.IO.Path.GetFileName(f).ToUpper().Contains(foo)
select f;
foreach (var x in MyList)
{
returnVal = x.ToString();
}
是的,我希望找到一个特定的文件。我更新了'*。*'。感谢严密的解决方案。 – Dhaust 2010-10-24 22:58:23
如果你正在扫描你没有任何权限的目录(例如,在有RecycleBin的驱动器级别),EnumerateFiles确实有所帮助。 参考http://stackoverflow.com/questions/1393178解决方案,如果你遇到这种情况。 – Malcolm 2012-07-25 22:36:55
@Malcolm:谢谢;编辑成答案。 – 2012-07-26 05:53:53