Creo que la respuesta completa a esta pregunta es para incluir el uso de la propiedad DriveInfo.DriveType.
public static bool IsNetworkPath(string path)
{
if (!path.StartsWith(@"/") && !path.StartsWith(@"\"))
{
string rootPath = System.IO.Path.GetPathRoot(path); // get drive's letter
System.IO.DriveInfo driveInfo = new System.IO.DriveInfo(rootPath); // get info about the drive
return driveInfo.DriveType == DriveType.Network; // return true if a network drive
}
return true; // is a UNC path
}
Pruebe la ruta para ver si comienza con un slash char y si lo hace, entonces es una ruta UNC. En este caso, deberá suponer que se trata de una ruta de red, en realidad puede no ser una ruta que apunte a una PC diferente, ya que en teoría podría ser una ruta UNC que apunta a su máquina local, pero esto no es así. probablemente para la mayoría de las personas, supongo, pero podría agregar cheques para esta condición si quisiera una solución más a prueba de balas.
Si la ruta de acceso no comienza con una barra diagonal, utilice la propiedad DriveInfo.DriveType para determinar si es una unidad de red o no.
Incluso una ruta UNC (comenzando con '\\\') puede estar apuntando a su máquina local. – Oded
ver http://stackoverflow.com/questions/520753/what-is-the-correct-way-to-check-if-a-path-is-an-unc-path-or-a-local-path/ 520796 # 520796 – nos
es demasiado tarde, pero esta es la respuesta perfecta [link], espero que esto alguien [1]: http://stackoverflow.com/questions/2243569/check-if-path-is-on -network # 2244497 – mahmoodels