예제 #1
0
        /// <summary>
        /// Searchs the path variable for the first match of exeToSearchFor. Returns
        /// null if not found.
        /// </summary>
        public string GetFullPathOfExeFromEnvironmentPath(string exeToSearchFor)
        {
            string pathEnv = TheEnvironment.GetEnvironmentVariable("Path");

            if (string.IsNullOrEmpty(pathEnv))
            {
                return(null);
            }

            var paths = pathEnv.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var path in paths)
            {
                // We don't want one bad path entry to derail the search
                try
                {
                    string exePath = Path.Combine(path, exeToSearchFor);
                    if (TheFileSystem.FileExists(exePath))
                    {
                        return(exePath);
                    }
                }
                catch (ArgumentException)
                {
                }
            }

            return(null);
        }
예제 #2
0
        /// <summary>
        /// Searches the path variable for the first match of exeToSearchFor. Returns
        /// null if not found.
        /// </summary>
        public string GetFullPathOfExeFromEnvironmentPath(string exeToSearchFor)
        {
            string pathEnv = TheEnvironment.GetEnvironmentVariable("Path");

            if (string.IsNullOrEmpty(pathEnv))
            {
                return(null);
            }

            foreach (string path in new LazyStringSplit(pathEnv, ';'))
            {
                // We don't want one bad path entry to derail the search
                try
                {
                    string exePath = Path.Combine(path, exeToSearchFor);
                    if (TheFileSystem.FileExists(exePath))
                    {
                        return(exePath);
                    }
                }
                catch (ArgumentException)
                {
                }
            }

            return(null);
        }