浅析Windows系统环境变量

什么是环境变量,想知道精确的官方定义,可以直接百度。在此,我只想聊聊我对其的认识。

一、环境变量需求的提出

假设在D盘有一个可执行文件“hi.exe”,

想要在控制台中启动,而目前所在的位置是C:\Users\lenovo,那么直接键入hi.exe(可以直接输入hi,省略".exe"),程序会不会启动呢?

会发现程序并没有启动,而且指出“hi.exe不是内部或外部命令,也不是可运行的程序或批处理文件”,为什么会这样呢,其实是因为在当前目录下,找不到hi.exe这个文件。

那么,为了启动程序,我们必须切换到D盘中去,然后再键入hi.exe,于是乎……

程序正常地启动了,并且打印出了“Hello World!”。

我们在为结果高兴的同时,会提出这么一个问题,每一次都要切换到文件所在目录是一件非常麻烦的事情。有没有一种方法可以让我们在任何位置都只需要键入hi.exe就能够启动程序呢?

很幸运地是,系统的开发者也意识到这个问题,于是便给出了一套解决方案。在这套方案中,环境变量横空出世。只需要我们配置一下环境变量,上述问题便可以轻松解决。

二、如何配置环境变量

那么,问题来了,到底该如何配置环境变量呢?这里介绍2种方法。

①在计算机属性里面配置(一劳永逸的方法,即只需要配置这一次,以后就都可以用了)。

a.在桌面计算机图标上右键,弹出一个菜单,选择“属性”;

b.在左侧控制面板主页中选择“高级系统设置”;

c.在弹出来的系统属性窗口中选择“环境变量”;

d.在弹出的环境变量窗口中找到"Path"项,选中并点击编辑;

e.在最前面添加文件所在目录,并添加分号与后面的内容分隔开,点击确定,环境变量便配置好了。

②在控制台下用“set path”命令配置(临时的,控制台关闭后还原为配置前状态)。

后面的%path%表示获取原来的path配置,整个表示在原先配置的基础上添加"D:\;"。

三、检验需求是否满足

好了,环境变量配置好了,现在去试试能否轻松便捷地启动程序。

   

惊喜地发现在C、D、E、F盘都只需要键入hi.exe就能启动程序了。开心吧?!

四、当前目录与环境变量配置的目录孰先孰后

本来写到上面就可以结束了,因为目的已经达到了,但是既然写了,就再深入一步吧,来探讨一下当前目录与环境变量配置的目录孰先孰后的问题。什么意思呢?

比如,我现在有两个同名文件"Test.exe",分别在E盘和F盘,E盘的程序输出“这个是环境变量配置的目录的文件!”,F盘的程序输出“这个是当前目录的文件!”。假设现在环境变量配置为“E:\;%path%”,并且切换到F盘下,此时如果键入Test.exe,会启动哪程序呢?E盘的还是F盘的程序呢?

通过结果,我们可以看出,启动的是F盘下(当前目录)的程序。

此时,如果删除F盘下的Test.exe文件,情况会怎么样呢?

通过结果,可以看出启动的是E盘下(环境变量配置的目录)的程序。

小结一下:在启动一个程序时,会先在当前目录下查找该程序文件,如果有就直接执行;否则,再去环境变量配置的目录下查找是否存在该文件,有就执行。





时间: 2024-12-16 12:10:53

浅析Windows系统环境变量的相关文章

Windows 系统环境变量的配置

Windows 系统环境变量的配置 Windows 系统中的可执行程序一般以 exe 做后缀. 把 exe 文件所在的文件夹放在系统环境变量的 path 变量中,就可以使用终端直接输入程序名执行该程序了. 例如,如果没有将 Python 所在目录放到环境变量中,在终端直接输入 python 命令就会提示 'python' 不是内部或外部命令,也不是可运行的程序: 要解决这个问题,可以将 Python 的安装目录放到环境变量中. 右键 此电脑 (也可能叫 我的电脑.计算机.此电脑 等等)图标,点击

Windows系统环境变量path优先级测试报告

转自:http://bluekylin.cnblogs.com/archive/2005/12/16/298797.html 总以为自己很已经会操作windows了,今天在它帮助中看到一大片还不知道的命令行工具,不过这篇随笔跟这些工具没什么关系的,只是我在用一个命令的时候打错了,结果导致我忍不住要写点东西. 当有些命令的运行结果比较长(好几页)的时候,我经常会把它们的结果输出到一个文本中,这绝对是个好习惯,比如,利于搜索: 如果我想查找D盘的一个文件,不知道它放在哪个文件夹中,我会使用tree命

配置windows 系统PHP系统环境变量

1. 首先到php官网下载php-5.3.6-nts-Win32-VC9-x86.ZIP 解压到电脑硬盘.将文件解压到文件夹php5.3.6下载地址:http://www.php.net/downloads.php2. 将解压后的php5.3.6文件夹放到E:\Program Files文件夹下面3. php目录下的"php.ini-development"修改名为:php.iniphp.ini中找到(如下的自己没有设置)********************************

【windows】常见的系统环境变量,如%appdata%表示什么意思

https://blog.csdn.net/catshitone/article/details/70238163 [windows]常见的系统环境变量,如%appdata%表示什么意思 2017年04月19日 11:11:52 JimCarter 阅读数 18342更多 个人分类: 系统 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/catshitone/article/details/70238163 1.介绍 %appdata%就代表了C

windows 用户变量和系统变量的区别

点击"我的电脑→属性→高级系统设置"标签的"环境变量"按钮,出现"环境变量"对话框,如果当前是以Administrator登录系统的用户,对话框的上面为Administrator的用户变量,对话框的下面为系统变量(即相当于系统中所有用户的用户变量).有的时候我们会看到在用户变量和系统变量中都存在某一个环境变量,比如path,那么path的值到底是用户变量中的值还是系统变量中的值,或者两者都不是呢?答案是两者都不是.path变量的值是用户变量中的值

系统环境变量和用户环境变量

环境变量分为系统环境变量和用户环境变量. 你所说的环境变量是指系统环境变量,对所有用户起作用 而用户环境变量只对当前用户起作用. 例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来.而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样. 这个问题在linux下面就相对好理解一些,系统变量都在/etc/profile文件里面,而用户的

QT获得所有系统环境变量

系统环境变量还是挺重要的,除了QStandardPaths(感觉都是文档类型的变量,QT4使用QDesktopServices),更有QProcessEnvironment(都是真正的系统变量): QString strWindows = QProcessEnvironment::systemEnvironment().value("windir"); qDebug() << strWindows; qDebug() << QProcessEnvironment

用 GetEnvironmentVariable 获取常用系统环境变量

//譬如 %WINDIR% 是表示系统目录的系统变量, 可以这样获取: var   s: string; begin   s := GetEnvironmentVariable('WINDIR');   ShowMessage(s); {C:\WINDOWS} end; %WINDIR%                {系统目录 - C:\WINDOWS} %SYSTEMROOT%            {系统目录 - C:\WINDOWS} %SYSTEMDRIVE%            {

windows 用户变量和系统变量的差别

点击"我的电脑→属性→高级系统设置"标签的"环境变量"button,出现"环境变量"对话框,假设当前是以Administrator登录系统的用户.对话框的上面为Administrator的用户变量,对话框的以下为系统变量(即相当于系统中全部用户的用户变量). 有的时候我们会看到在用户变量和系统变量中都存在某一个环境变量.比方path,那么path的值究竟是用户变量中的值还是系统变量中的值,或者两者都不是呢?答案是两者都不是.path变量的值是用户