我想获取磁盘D
上名为wampmanager.conf
的文件的完整路径。
private static string Scan(string path, string file)
{
try
{
foreach (var dir in Directory.EnumerateDirectories(path))
{
foreach (var fl in Directory.EnumerateFiles(dir, file))
{
if (!string.IsNullOrEmpty(fl))
{
return fl;
}
}
}
}
catch (Exception)
{
// ignored
}
return null;
}
var wmc = Scan(@"D:\", "wampmanager.conf");
MessageBox.Show(wmc);
它总是返回null
,即使wampmanager.conf
文件存在于磁盘D
上。我猜它进入了一个像d:\recovery\
这样的目录,我没有访问权限,然后它崩溃到一个catch并返回null。但当我不使用try catch时,我总是得到访问授权错误。我该如何处理这个问题?
1条答案
按热度按时间70gysomp1#
对于每个目录,您必须使用
SearchOption.AllDirectories
在搜索操作中包括当前目录及其所有子目录。请尝试使用以下函数: