Esempio n. 1
0
        public static List <string> getPathList(System.EnvironmentVariableTarget target)
        {
            List <string> pathList = new List <string>();
            string        pathStr  = System.Environment.GetEnvironmentVariable("Path", target);

            if (pathStr == null)
            {
                return(pathList);
            }
            pathStr = pathStr.TrimEnd(';');
            if (pathStr.Length == 0)
            {
                return(pathList);
            }
            string[] pathArray = pathStr.Split(';');
            foreach (string path in pathArray)
            {
                if (path.EndsWith("\\"))
                {
                    pathList.Add(path.TrimEnd('\\'));
                }
                else
                {
                    pathList.Add(path);
                }
            }
            return(pathList);
        }
Esempio n. 2
0
 public static void setPathList(List <string> pathList, System.EnvironmentVariableTarget target)
 {
     if (pathList.Count == 0)
     {
         return;
     }
     System.Environment.SetEnvironmentVariable("Path", System.String.Join(";", pathList) + ";", target);
 }
Esempio n. 3
0
 public static string GetEnvironmentVariable(string variable,
                                             System.EnvironmentVariableTarget target)
 {
     if (target != System.EnvironmentVariableTarget.Process)
     {
         throw new System.ArgumentException();
     }
     return(GetEnvironmentVariable(variable));
 }
Esempio n. 4
0
 /// <summary>
 /// Creates an environment variable by given <paramref name="name"/>, <paramref name="value"/> and optionally - <paramref name="target"/>.
 /// </summary>
 /// <param name="name">The name of the environment variable.</param>
 /// <param name="value">The value of the environment variable.</param>
 /// <param name="target">The <see cref="System.EnvironmentVariableTarget"/> of the variable.</param>
 internal static void CreateEnvironmentVariable(string name, string value, System.EnvironmentVariableTarget target = System.EnvironmentVariableTarget.User)
 {
     try
     {
         System.Environment.SetEnvironmentVariable(name, value, target);
     }
     catch (System.Exception)
     {
         Internal.Error($"Cannot create environment variable with name {name} and value {value} due to exception.");
     }
 }
Esempio n. 5
0
        /// <summary>
        /// Find environment variable values with given <paramref name="name"/>.
        /// </summary>
        /// <param name="name">Name of environment variable.</param>
        /// <param name="target">Environment variable target.</param>
        /// <returns>Array of results if found, an empty array if not found.</returns>
        public static string[] GetAll(string name, System.EnvironmentVariableTarget target = System.EnvironmentVariableTarget.Process)
        {
            var result = System.Environment.GetEnvironmentVariable(name, target);

            if (result == null)
            {
                return new string[] { }
            }
            ;
            return(result.Split(Path.PathSeparator));
        }
Esempio n. 6
0
        /// <summary>
        /// Find file with given <paramref name="filename"/> in environment <paramref name="envVariable"/>
        /// and environment target <paramref name="target"/>.
        /// </summary>
        /// <param name="filename">Name of file.</param>
        /// <param name="envVariable">Environment variable - default: PATH.</param>
        /// <param name="target">Environment target to search in.</param>
        /// <returns>FileInfo of file with given <paramref name="filename"/> if found - otherwise null.</returns>
        public static FileInfo FindFile(string filename,
                                        string envVariable = "PATH",
                                        System.EnvironmentVariableTarget target = System.EnvironmentVariableTarget.Process)
        {
            var env = GetAll(envVariable, target);

            foreach (var path in env)
            {
                if (File.Exists(path + Path.DirectorySeparatorChar + filename))
                {
                    return(new FileInfo(path + Path.DirectorySeparatorChar + filename));
                }
            }
            return(null);
        }
Esempio n. 7
0
 /// <summary>
 /// Find environment variable with given <paramref name="name"/>.
 /// </summary>
 /// <param name="name">Name of environment variable.</param>
 /// <param name="target">Environment variable target.</param>
 /// <returns>Value the environment variable carries - string.isNullOrEmpty == true if not found.</returns>
 public static string Get(string name, System.EnvironmentVariableTarget target = System.EnvironmentVariableTarget.Process)
 {
     return(GetAll(name, target).FirstOrDefault());
 }