public static bool PathExists(string path) { if (String.IsNullOrEmpty(path)) { return(false); } path = path.ToLower(); if (path.StartsWith("::") || path.StartsWith(@"\\") || path.StartsWith("http://") || path.StartsWith("ftp://") || path.Contains("???")) { return(true); } if (Path.IsPathRooted(path)) { DriveInfo drive; try { drive = new DriveInfo(Path.GetPathRoot(path)); } catch { return(false); } switch (drive.DriveType) { case DriveType.Unknown: case DriveType.NoRootDirectory: return(false); case DriveType.Network: return(true); } } if (Directory.Exists(path)) { return(true); } if (File.Exists(path)) { string ext = Path.GetExtension(path).ToLower(); return(QTUtility.ExtIsCompressed(ext) || (!QTUtility.IsXP && (ext == ".search-ms"))); } if (QTUtility.IsXP || ((!path.Contains(@".zip\") && !path.Contains(@".cab\")) && !path.Contains(@".lzh\"))) { return(!Path.IsPathRooted(path)); } string str2 = String.Empty; if (path.Contains(@".zip\")) { str2 = @".zip\"; } else if (path.Contains(@".cab\")) { str2 = @".cab\"; } else if (path.Contains(@".lzh\")) { str2 = @".lzh\"; } return(File.Exists(path.Substring(0, path.IndexOf(str2) + 4))); }
public static bool PathExists(string path) { if (string.IsNullOrEmpty(path)) { return(false); } path = path.ToLower(); if (((path.StartsWith("::") || path.StartsWith(@"\\")) || (path.StartsWith("http://") || path.StartsWith("ftp://"))) || (path.Contains("???") || Directory.Exists(path))) { return(true); } if (File.Exists(path)) { string ext = Path.GetExtension(path).ToLower(); return(QTUtility.ExtIsCompressed(ext) || (QTUtility.IsVista && (ext == ".search-ms"))); } if (!QTUtility.IsVista || ((!path.Contains(@".zip\") && !path.Contains(@".cab\")) && !path.Contains(@".lzh\"))) { return(!Path.IsPathRooted(path)); } string str2 = string.Empty; if (path.Contains(@".zip\")) { str2 = @".zip\"; } else if (path.Contains(@".cab\")) { str2 = @".cab\"; } else if (path.Contains(@".lzh\")) { str2 = @".lzh\"; } return(File.Exists(path.Substring(0, path.IndexOf(str2) + 4))); }