精华内容
下载资源
问答
  • C# 实现设置系统环境变量设置
    千次阅读
    2014-11-18 11:47:22

    以前实现系统环境变量设置时是要在电脑属性--高级--环境变量设置,实现方式主要有2种,

    1. 修改注册表,添加环境变量
    2. 调用系统Kernel32.DLL函数,设置环境变量

     

     

    注册表方式,是要修改注册表的位置是[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]

    代码我已经封装,注意要引入命名空间

    using Microsoft.Win32;
    using System.Runtime.InteropServices;

    如下:

    class SysEnvironment
    {
        /// <summary>
        /// 获取系统环境变量
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static string GetSysEnvironmentByName(string name)
        {
            string result = string.Empty;
            try
            {
                result = OpenSysEnvironment().GetValue(name).ToString();//读取
            }
            catch (Exception)
            {
    
                return string.Empty;
            }
            return result;
    
        }
    
        /// <summary>
        /// 打开系统环境变量注册表
        /// </summary>
        /// <returns>RegistryKey</returns>
        private static RegistryKey OpenSysEnvironment()
        {
            RegistryKey regLocalMachine = Registry.LocalMachine;
            RegistryKey regSYSTEM = regLocalMachine.OpenSubKey("SYSTEM", true);//打开HKEY_LOCAL_MACHINE下的SYSTEM 
            RegistryKey regControlSet001 = regSYSTEM.OpenSubKey("ControlSet001", true);//打开ControlSet001 
            RegistryKey regControl = regControlSet001.OpenSubKey("Control", true);//打开Control 
            RegistryKey regManager = regControl.OpenSubKey("Session Manager", true);//打开Control 
    
            RegistryKey regEnvironment = regManager.OpenSubKey("Environment", true);
            return regEnvironment;
        }
    
        /// <summary>
        /// 设置系统环境变量
        /// </summary>
        /// <param name="name">变量名</param>
        /// <param name="strValue">值</param>
        public static void SetSysEnvironment(string name, string strValue)
        {
            OpenSysEnvironment().SetValue(name, strValue);
    
        }
    
        /// <summary>
        /// 检测系统环境变量是否存在
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public bool CheckSysEnvironmentExist(string name)
        {
            if (!string.IsNullOrEmpty(GetSysEnvironmentByName(name)))
                return true;
            else
                return false;
        }
    
        /// <summary>
        /// 添加到PATH环境变量(会检测路径是否存在,存在就不重复)
        /// </summary>
        /// <param name="strPath"></param>
        public static void SetPathAfter(string strHome)
        {
            string pathlist ;
            pathlist = GetSysEnvironmentByName("PATH");
            //检测是否以;结尾
            if (pathlist.Substring(pathlist.Length - 1, 1) != ";")
            {
                SetSysEnvironment("PATH", pathlist + ";");
                pathlist = GetSysEnvironmentByName("PATH");
            }
            string[] list = pathlist.Split(';');
            bool isPathExist = false;
    
            foreach (string item in list)
            {
                if (item == strHome)
                    isPathExist = true;
            }
            if (!isPathExist)
            {
                SetSysEnvironment("PATH", pathlist +strHome+ ";");
            }
    
        }
    
        public static void SetPathBefore(string strHome)
        {
    
            string pathlist;
            pathlist = GetSysEnvironmentByName("PATH");
                        string[] list = pathlist.Split(';');
            bool isPathExist = false;
    
            foreach (string item in list)
            {
                if (item == strHome)
                    isPathExist = true;
            }
            if (!isPathExist)
            {
                SetSysEnvironment("PATH", strHome + ";" + pathlist);
            }
    
        }
    
        public static void SetPath(string strHome)
        {
    
            string pathlist;
            pathlist = GetSysEnvironmentByName("PATH");
            string[] list = pathlist.Split(';');
            bool isPathExist = false;
    
            foreach (string item in list)
            {
                if (item == strHome)
                    isPathExist = true;
            }
            if (!isPathExist)
            {
                SetSysEnvironment("PATH", pathlist + strHome + ";" );
           
            }
    
        }
    
    
    }
     
     
    Kernel32.DLL内有SetEnvironmentVariable函数用于设置系统环境变量
    C#调用要用DllImport,代码封装如下:
    class SetSysEnvironmentVariable
        {
            [DllImport("Kernel32.DLL ", SetLastError = true)]
            public static extern bool SetEnvironmentVariable(string lpName, string lpValue);
    
            public static void SetPath(string pathValue)
            {
                string pathlist;
                pathlist = SysEnvironment.GetSysEnvironmentByName("PATH");
                string[] list = pathlist.Split(';');
                bool isPathExist = false;
    
                foreach (string item in list)
                {
                    if (item == pathValue)
                        isPathExist = true;
                }
                if (!isPathExist)
                {
                    SetEnvironmentVariable("PATH", pathlist + pathValue+";");
                   
                }
    
            }
        }
    更多相关内容
  • 问题一:如何进入系统设置设置环境变量): 法1:右键我的电脑-&gt;属性 法2:控制面板-&gt;系统和安全-&gt;系统-&gt;高级系统设置   若是右键我的电脑,没有属性怎么办?高级系统设置也...

    问题一:如何进入系统设置(设置环境变量):

    法1:右键我的电脑->属性
    法2:控制面板->系统和安全->系统->高级系统设置

     

    若是右键我的电脑,没有属性怎么办?高级系统设置也点击进入不了怎么办。那就可能是电脑设置不能改变环境了!

    方法:
    链接:https://pan.baidu.com/s/1TRuQevSPn27y51o1UJm0Rw 
    提取码:hm35 

    里面有两个文件,先点击hack.reg
    点击下面的.bat文件,就ok啦

    展开全文
  • VS_ 系统环境变量设置

    万次阅读 2016-08-26 23:49:46
    然而在开发过程中,难免要使用到第三方库,比如boost,Qt,curl等等,如果每个项目都分别去设置的话,很麻烦而且容易导致混乱,所以,通过设置环境变量PATH,INCLUDE,LIB,LIBPATH等,可以很方便地设置。...

    在windows开发,最多被使用的还是Visual Studio,至于哪个版本各个项目不同。然而在开发过程中,难免要使用到第三方库,比如boost,Qt,curl等等,如果每个项目都分别去设置的话,很麻烦而且容易导致混乱,所以,通过设置环境变量PATH,INCLUDE,LIB,LIBPATH等,可以很方便地设置。



    注意:

    1.对于相同的值,比如用户变量和系统变量都有一个INCLUDE,则用户变量会覆盖系统变量,导致系统变量的路径搜不到,这个需要注意。

    2.还有一个问题,比如,不同项目使用的库是不同版本地,如果写在同一个变量里面会被覆盖掉,则,可以为每个版本分别设置一个环境变量。


    参考文章:

    http://shashanzhao.com/archives/854.html

    展开全文
  • win10下成功设置环境变量后,DOS窗口下查看PATH路径设置没有问题,但就是不识别,无法使用可执行文件,显示既不是内部命令也不是外部命令,求大神解救
  • 系统环境变量:公共的,对全部的用户都生效。 用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。 2)按生存周期分类。 永久环境变量:在环境变量脚本文件中配置,用户每次登录时会自动执行这些...

    一、环境变量的概念

    1、环境变量的含义

    程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。

    2、环境变量的分类

    1)按生效的范围分类。

    系统环境变量:公共的,对全部的用户都生效。

    用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。

    2)按生存周期分类。

    永久环境变量:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。

    临时环境变量:使用时在Shell中临时定义,退出Shell后失效。

    3、Linux环境变量

    Linux环境变量也称之为Shell环境量变,以下划线和字母打头,由下划线、字母(区分大小写)和数字组成,习惯上使用大写字母,例如PATH、HOSTNAME、LANG等。

    二、常用的环境变量

    1、查看环境变量

    1)env命令

    在Shell下,用env命令查看当前用户全部的环境变量。

    在这里插入图片描述

    上图只截取了部分环境变量,并非全部。

    用env命令的时候,满屏显示了很多环境变量,不方便查看,可以用grep筛选。

    env|grep 环境变量名
    

    例如查看环境变量名中包含PATH的环境变量。

    env|grep PATH
    

    在这里插入图片描述

    2)echo命令

    echo $环境变量名
    

    在这里插入图片描述

    注意,符号$不能缺少,这是语法规定。

    2、常用的环境变量

    1)PATH

    可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序,PATH变量的具体用法本文后面的章节中有详细的介绍。

    在这里插入图片描述

    2)LANG

    Linux系统的语言、地区、字符集,LANG变量的具体用法本文后面的章节中有详细的介绍。

    在这里插入图片描述

    3)HOSTNAME

    服务器的主机名。

    4)SHELL

    用户当前使用的Shell解析器。

    5)HISTSIZE

    保存历史命令的数目。

    6)USER

    当前登录用户的用户名。

    7)HOME

    当前登录用户的主目录。

    8)PWD

    当前工作目录。

    9)LD_LIBRARY_PATH

    C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要,具体用法本文后面的章节中有详细的介绍。

    10)CLASSPATH

    JAVA语言库文件搜索的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要,具体用法本文后面的章节中有详细的介绍。

    三、设置环境量

    变量名='值'
    export 变量名
    

    export 变量名='值'
    

    如果环境变量的值没有空格等特殊符号,可以不用单引号包含。

    示例:

    export ORACLE_HOME=/oracle/home
    export ORACLE_BASE=/oracle/base
    export ORACLE_SID=snorcl11g
    export NLS_LANG='Simplified Chinese_China.ZHS16GBK'
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.
    

    采用export设置的环境变量,在退出Shell后就会失效,下次登录时需要重新设置。如果希望环境变量永久生效,需要在登录脚本文件中配置。

    1、系统环境变量

    系统环境变量对全部的用户生效,设置系统环境变量有三种方法。

    1)在/etc/profile文件中设置。

    用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量。

    2)在/etc/profile.d目录中增加环境变量脚本文件,这是Linux推荐的方法。

    /etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d下对应的 shell 脚本即可。

    /etc/profile.d目录下有很多脚本文件,例如:

    在这里插入图片描述

    在以上示例中,/etc/profile.d目录中的oracle.sh是Oracle数据库的环境变量配置文件,内容如下:

    在这里插入图片描述

    3)在/etc/bashrc文件中设置环境变量。

    该文件配置的环境变量将会影响全部用户使用的bash shell。但是,Linux也不建议在 /etc/bashrc 文件中设置系统环境变量。

    2、用户环境变量

    用户环境变量只对当前用户生效,设置用户环境变量也有多种方法。

    在用户的主目录,有几个特别的文件,用ls是看不见的,用 ls .bash_* 可以看见。

    在这里插入图片描述

    1).bash_profile(推荐首选)

    当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。

    2).bashrc

    当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。

    3).bash_logout

    当每次退出系统(退出bash shell)时执行该文件。

    4).bash_history

    保存了当前用户使用过的历史命令。

    3、环境变量脚本文件的执行顺序

    环境变量脚本文件的执行顺序如下:

    /etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc
    

    同名的环境变量,如果在多个脚本中有配置,以最后执行的脚本中的配置为准。

    还有一个问题需要注意,在/etc/profile中执行了/etc/profile.d的脚本,代码如下:

    for i in /etc/profile.d/*.sh ; do
        if [ -r "$i" ]; then
            if [ "${-#*i}" != "$-" ]; then
                . "$i"
            else
                . "$i" >/dev/null
            fi
        fi
    done
    

    所以,/etc/profile.d和/etc/profile的执行顺序还要看代码怎么写。

    四、重要环境变量的详解

    1、PATH环境变量

    可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。如果可执行程序的目录不在PATH指定的目录中,执行时需要指定目录。

    1)PATH环境变量存放的是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录。

    export PATH=目录1:目录2:目录3:......目录n:.
    

    2)PATH缺省包含了Linux系统命令所在的目录(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),如果不包含这些目录,Linux的常用命令也无法执行(要输入绝对路径才能执行)。

    示例:

    在这里插入图片描述

    3)在用户的.bash_profile文件中,会对PATH进行扩充,如下:

    export PATH=$PATH:$HOME/bin
    

    4)如果PATH变量中没有包含圆点.,执行当前目录下的程序需要加./或使用绝对路径。

    示例:

    在这里插入图片描述

    2、LANG环境变量

    LANG环境变量存放的是Linux系统的语言、地区、字符集,它不需要系统管理员手工设置,/etc/profile会调用/etc/profile.d/lang.sh脚本完成对PATH的设置。

    CentOS6.x 字符集配置文件在/etc/syscconfig/i18n文件中。

    CentOS7.x 字符集配置文件在/etc/locale.conf文件中,内容如下:

    设置英语: LANG=en_US.utf8

    在这里插入图片描述

    3、LD_LIBRARY_PATH环境变量

    C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要。

    LD_LIBRARY_PATH环境变量存放的也是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录,与PATH的格式相同。

    export LD_LIBRARY_PATH=目录1:目录2:目录3:......目录n:.
    

    4、CLASSPATH

    JAVA语言库文件搜索的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要。

    CLASSPATH环境变量存放的也是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录,与PATH的格式相同。

    五、环境变量的生效

    1)在Shell下,用export设置的环境变量对当前Shell立即生效,Shell退出后失效。

    2)在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录时才生效,或者用source命令让它立即生效,例如:

    source /etc/profile
    

    六、应用经验

    虽然设置环境变量的方法有多种,但是建议系统环境变量建议在 /etc/profile.d 目录中配置,用户环境变量在用户的 .bash_profile 中配置,不建议在其它脚本文件中配置环境变,会增加运维的麻烦,容易出错。

    展开全文
  • 设置环境变量的两种方法

    千次阅读 2021-05-18 14:53:07
    在弹出来的界面里在系统变量里点击新建, 注意:用户变量只对当前用户有效,系统变量对所有用户有效 填好变量名,变量名可以是随便取的,但建议以你要设置环境变量的应用名为变量名,之后将你要设置环境变量的路径...
  • webpack设置环境变量

    千次阅读 2021-09-02 18:23:01
    cross-env可以抹平操作系统差异,设置环境变量可以在webpack.config.js中使用 安装 yarn add cross-env -D 使用 :package.json "scripts": { //为开发环境注入NODE_ENV "dev": "cross-env NODE_ENV=develop ...
  • 啊没错是写anaconda的时候顺便着写的2333 以win10系统为例,打开“此电脑”的属性。 在属性中,下拉找到“高级系统设置”。 选择环境变量 找到系统变量中的Path,双击打开即可修改了。
  • jdk在mac系统环境变量设置

    万次阅读 2016-08-03 19:47:10
    发现有很多人在问,下载了Oracle的jdk后,环境变量不知道如何设置,所以今天开了篇文章,专门讲jdk在mac系统中如何设置环境变量的。  idk在mac系统中,其实有两个路径,一个是默认的,一个是下载了的jdk,需要更新...
  • 快速用cmd打开环境变量设置页面

    千次阅读 2020-10-03 00:14:27
    因为有时候经常要设置,每次都要打开我的电脑,然后右键 习惯用键盘操作的我们肯定想要用代码操作 win+r 输入 sysdm.cpl
  • R环境变量设置

    万次阅读 2019-01-10 14:20:17
    R_HOME地址是定义在启动文件/usr/bin/R中的,因此不同于一般的环境变量设置(通过在profile文件内设置export R_HOME= ...,这是没有用的),要修改R_HOME只能在这些初始化文件内修改(下文中列举)。一个R session...
  • win11 设置系统环境变量

    千次阅读 2021-11-19 10:17:59
    由于win11的设置面板大变样,一时之间找不到高级设置进入系统环境变量设置。面对这个问题可以这样:1.按win键--》在搜索中输入 "编辑系统环境变量" 如图:
  • Java环境变量配置

    万次阅读 多人点赞 2022-01-15 19:47:09
    1. JDK的下载与安装 首先,百度直接搜索JDK,...接下来别忘记选择接受协议,然后打开系统设置面板检查所用电脑的系统位数。(64位 or 32位) 百度网盘地址:链接:https://pan.baidu.com/s/1_fQF2MtlDQRfspMnmsR6h
  • 系统环境变量对整个系统有效 用户环境变量只对当前用户有效 方法一: 1、首先选中桌面此电脑图标,右键选择属性。如果桌面没有此电脑图标,打开方式http://blog.csdn.net/qq_29129289/article/details/51477364...
  • php-mac系统 环境变量设置

    千次阅读 2017-02-21 17:42:55
    php-mac环境变量设置 sudo vi ~/.bash_profile # 添加一行。注意 PHP5.4.10 修改成你正在运行的 PHP 版本目录名称 export PATH="/Applications/MAMP/bin/php/php5.4.10/bin:$PATH" # 保存,退出 # 运行一下 ....
  • 我想把这些相同的部分定义成系统环境变量,然后类似于批处理使用环境变量一样,比如 %QT_UIC_EXE%,在VS属性使用这些环境变量。 但从结果来看,VS配置使用环境变量是无效的(%QT_UIC_EXE%不起作用)。
  • JDK环境变量配置

    万次阅读 2021-07-20 15:18:45
    win10 右键 此电脑 属性,在相关设置中打开 高级系统设置,弹出 系统属性 界面。 或者直接搜索 环境变量。 1)在系统变量中,新建系统变量JAVA_HOME,变量值为C:\Program Files\Java\jdk1.8.0_241(根据自己...
  • win10系统设置环境变量可以实现jdk的安装、maven的安装、tomcat的安装等必要过程。
  • 配置系统环境变量的两种方法

    千次阅读 2017-04-24 08:49:08
    系统环境变量的作用: 当要求系统运行一个程序而没有告诉该程序的完整路径时,系统除在当前路径下寻找外,还会在PATH(系统环境变量)指定目录下寻找。 这里举Android的adt安装所需环境变量设置的例子来说明设置...
  • Windows配置系统环境变量后无效

    万次阅读 2019-06-01 09:47:44
    配置完系统环境变量后需要将cmd重启
  • Unity 环境变量设置

    千次阅读 2021-11-08 11:21:18
  • Docker之docker设置系统环境变量

    万次阅读 2019-04-16 11:07:24
    第一种设置环境变量方式 ENV <key><value> ENV CONFIG /usr/local/config 编写Dockerfile的时候使用,推荐使用这种方式 第二种设置环境变量方式 docker run --env ZHICALL_CONFIG=/usr/local/ -d -p ...
  • Linux系统安装jdk及环境变量配置

    万次阅读 2019-07-29 14:41:55
    配置环境变量 将如下内容加入 /etc/profile文件中 export JAVA_HOME=/opt/java/jdk1.8.0_221 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib 6.重新加载配置文件 ...
  • Windows 10 环境变量 (用户变量与系统变量)

    万次阅读 多人点赞 2020-05-03 17:08:00
    Windows 10 环境变量 (用户变量与系统变量) 1. 环境变量 (environment variables) 环境变量 (environment variables) 是在操作系统中用来指定操作系统运行环境的一些参数。环境变量是在操作系统中一个具有特定名字的...
  • Windows 11 操作系统如何设置环境变量

    千次阅读 2022-01-16 21:08:58
    1.打开我的电脑右键属性进入设置中心 2.搜索框中输入 “环境变量” 回车搜索,点击 “编辑系统环境变量” 3.至此就可以按照自己的需求设置相关编程软件的环境变量了
  • python环境变量设置

    千次阅读 2020-12-11 11:12:58
    python环境变量设置1. 首先需要在系统中注册python环境变量:假设python的安装路径为c:\python2.6,则修改我的电脑-》属性-》高级-》环境变量-》系统变量中的PATH为:(为了在命令行模式下运行Python命令,需要将...
  • Android获取和设置系统环境变量指南

    千次阅读 2020-06-13 16:45:38
          Android获取和设置系统环境变量 前言   在Android源码的分析过程中经常会看到System.getenv(“xxx”)和getenv(“xxx”)以及Os.getenv(“xxx”)获取Android系统的环境变量值,本篇的重点不是分析代码...
  • java获取和设置系统变量(环境变量)

    千次阅读 2019-10-22 17:16:11
    一、Java获取环境变量 Java 获取环境变量的方式很简单: System.getEnv()得到所有的环境变量 System.getEnv(key) 得到某个环境变量 Map map = System.getenv(); Iterator it = map.entrySet().iterator(); ...
  • Pycharm的环境变量设置

    千次阅读 2021-11-23 17:08:31
    Pycharm的环境变量设置 最开始是由于在系统终端上安装mujoco_py遇到了需要添加环境变量的问题,在添加完系统环境变量后,在终端可以使用mujoco_py,而在手动打开的Pycharm窗口中却仍需配置环境变量,查阅资料后发现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 918,286
精华内容 367,314
关键字:

系统环境变量怎么设置