Ejemplo n.º 1
0
        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)));
        }
Ejemplo n.º 2
0
        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)));
        }