En C#, ¿cómo puedo verificar si existe un archivo específico en un directorio o cualquiera de sus subdirectorios?Cómo verificar si existe un archivo específico en el directorio o cualquiera de sus subdirectorios
System.IO.File.Exists solo parece aceptar un solo parámetro sin sobrecargas para buscar subdirectorios.
puedo hacerlo con LINQ y System.IO.Directory.GetFiles utilizando el SearchOption.AllDirectories sobrecarga, pero que parece un poco de mano dura.
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();
}
Sí, estoy buscando encontrar un solo archivo específico. He actualizado el '*. *'. Gracias por la solución apretada. – Dhaust
EnumerateFiles hace una diferencia si está escaneando directorios donde no tiene permisos para todo (por ejemplo, desde el nivel de unidad donde hay una RecycleBin). cf http://stackoverflow.com/questions/1393178 para una solución si se encuentra con ese caso. – Malcolm
@Malcolm: Gracias; editado en la respuesta. –