cmd 环境变量设置方法详细解释

cmd设置环境变量可以方便我们bat脚本的运行,但是要注意的是变量只在当前的cmd窗口有作用(局部生效),如果想要设置持久的环境变量需要我们通过两种手段进行设置:一种是直接修改注册表,另一种是通过我的电脑-〉属性-〉高级,来设置系统的环境变量。

1、查看当前所有可用的环境变量:输入 set 即可查看。


2、查看某个环境变量:输入 “set 变量名”即可,比如想查看temp变量的值,即输入 set temp


当然也可以使用echo %temp%


3、修改环境变量 :输入 “set 变量名=变量内容”即可,比如将temp设置为“d:tempfile”,只要输入set temp="d:tempfile"。注意,此修改环境变量是指用现在的内容去覆盖以前的内容,并不是追加。比如当我设置了上面的path路径之后,如果我再重新输入set temp="c",再次查看temp路径的时候,其值为“c”,而不是“d:tempfile”;“c”。

4、设置为空:如果想将某一变量设置为空,输入“set 变量名=”即可。如“set path=” 那么查看path的时候就为空。注意,上面已经说了,只在当前命令行窗口起作用。因此查看path的时候不要去右击“我的电脑”——“属性”........

5、给变量追加内容(不同于3,那个是覆盖):输入“set 变量名=%变量名%;变量内容”。如,为temp添加一个新的路径,输入“ set path=%path%;d:tempfile”即可将d:tempfile添加到path中,再次执行"set path=%path%;c:",那么,使用set path语句来查看的时候,将会有:d:tempfile;c:,而不是像第3步中的只有c:。

环境变量详细解释

1、查看当前可用的所有环境变量(=系统变量+用户变量)

set

查看某个环境变量,如PATH

set PATH

添加环境变量,如xxx=aa

set xxx=aa

将环境变量(如xxx)的值置为空

set xxx=

在某个环境变量(如PATH)后添加新的值(如d:xxx)

set PATH=%PATH%;d:xxx

[注]:以命令行方式对环境变量的操作只对当前窗口的应用有效!

2、Windows下JAVA用到的环境变量主要有3个:JAVA_HOME、CLASSPATH、PATH。

1)JAVA_HOME指向的是JDK的安装路径,如x: j2sdk1.4.2,在这路径下你应该能够找到bin、lib等目录。设置方法:JAVA_HOME=c: j2sdk1.4.2

2)PATH变量的作用
java程序在运行时首先在path变量所定义的路径去找java.exe,并以最先找到的为准,如果安装完j2sdk后不加设置,一般是C:WINDOWSsystem32目录。
j2sdk1.4(还有其它java开发工具如jbuilder8)在安装后会将java.exe拷贝到C:WINDOWSsystem32目录下,当执行java.exe时,需要装载这个SDK下的一些文件。
如j2sdk1.4在安装完成后,C:WINDOWSsystem32下的java.exe在运行时会在C:Program Filejava目录下装载必需的一些文件。但安装j2sdk后一般会在PATH变量的最前面设置C: j2sdk1.4.2 bin。
当先安装j2sdk1.4.2,后安装jbuilder8等开发工具时,由于jbuilder8的java.exe在拷贝到C:WINDOWSsystem32时可能覆盖了j2sdk1.4.2的java.exe,那么这时在运行的java.exe会到jbuilder8所在的目录去装载必需的一些文件。

3)CLASSPATH环境变量的作用
告诉类装载器到哪里去寻找第三方提供的类和用户定义的类。也可用使用JVM命令行参数-classpath分别为应用程序指定类路径,在-classpath中指定的类路径覆盖CLASSPATH环境变量中指定的值。

3、当机器内装有多个SDK版本时,如何查看所用的是哪个SDK?

java -verbose

在出现的屏幕信息中可以看出系统装载的是哪个目录下的文件。

4、Windows OS下设置PATH的方法

〔系统〕->〔环境〕-> 〔高级〕,在PATH变量的文本框中的最前面输入C: j2sdk1.4.2bin
或在命令行窗口中执行 set path=c:j2sdk1.4.2bin;%path%; 这样在命令行窗口的任一路径下都可以执行java.exe程序了。或设置PATH=%JAVA_HOME%bin;%PATH%

5、对于CLASSPATH环境变量的设置方法要加倍小心,是因为以后你出现的莫名其妙80%以上的怪问题都可能是由于CLASSPATH设置不对引起的。

CLASSPATH=.;%JAVA_HOME%libtools.jar

首先要注意的是最前面的".;",——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件。
【Troubleshooting】

编译会出现以下情况,看你是否真得都理解环境变量的设置,并能解决它。
[T1]error:java不是一个可运行的程序? 由于没有设置环境变量path
[T2] error:不能打开某个目录? 可能是忽视了path环境变量中的目录的设置顺序。
[T3]Exception on thread “main” java.lang.DoClassDefFoundError:Test? 没有设置classpath的路径。

cmd查看环境变量

1、查看当前所有可用的环境变量:输入 set 即可查看。
2、查看某个环境变量:输入 “set 变量名”即可,比如想查看path变量的值,即输入 set path
3、修改环境变量 :输入 “set 变量名=变量内容”即可,比如将path设置为“d:hacker.exe”,只要输入set path="d:nmake.exe"。注意,此修改环境变量是指用现在的内容去覆盖以前的内容,并不是追加。比如当我设置了上面的path路径之后,如果我再重新输入set path="c",再次查看path路径的时候,其值为“c:”,而不是“d:nmake.exe”;“c”。
4、设置为空:如果想将某一变量设置为空,输入“set 变量名=”即可。如“set path=” 那么查看path的时候就为空。注意,上面已经说了,只在当前命令行窗口起作用。因此查看path的时候不要去右击“我的电脑”——“属性”........
5、给变量追加内容(不同于3,那个是覆盖):输入“set 变量名=%变量名%;变量内容”。如,为path添加一个新的路径,输入“ set path=%path%;d:hacker.exe”即可将d:hacker.exe添加到path中,再次执行"set path=%path%;c:",那么,使用set path语句来查看的时候,将会有:d:hacker.exe;c:,而不是像第3步中的只有c:。

%ALLUSERSPROFILE% 局部 返回所有“用户配置文件”的位置。
%APPDATA% 局部 返回默认情况下应用程序存储数据的位置。
%CD% 局部 返回当前目录字符串。
%CMDCMDLINE% 局部 返回用来启动当前的 Cmd.exe 的准确命令行。
%CMDEXTVERSION% 系统 返回当前的“命令处理程序扩展”的版本号。
%COMPUTERNAME% 系统 返回计算机的名称。
%COMSPEC% 系统 返回命令行解释器可执行程序的准确路径。
%DATE% 系统 返回当前日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的详细信息,请参阅 Date。
%ERRORLEVEL% 系统 返回最近使用过的命令的错误代码。通常用非零值表示错误。
%HOMEDRIVE% 系统 返回连接到用户主目录的本地工作站驱动器号。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMEPATH% 系统 返回用户主目录的完整路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMESHARE% 系统 返回用户的共享主目录的网络路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%LOGONSEVER% 局部 返回验证当前登录会话的域控制器的名称。
%NUMBER_OF_PROCESSORS% 系统 指定安装在计算机上的处理器的数目。
%OS% 系统 返回操作系统的名称。Windows 2000 将操作系统显示为 Windows_NT。
%PATH% 系统 指定可执行文件的搜索路径。
%PATHEXT% 系统 返回操作系统认为可执行的文件扩展名的列表。
%PROCESSOR_ARCHITECTURE% 系统 返回处理器的芯片体系结构。值: x86,IA64。
%PROCESSOR_IDENTFIER% 系统 返回处理器说明。
%PROCESSOR_LEVEL% 系统 返回计算机上安装的处理器的型号。
%PROCESSOR_REVISION% 系统 返回处理器修订号的系统变量。
%PROMPT% 局部 返回当前解释程序的命令提示符设置。由 Cmd.exe 生成。
%RANDOM% 系统 返回 0 到 32767 之间的任意十进制数字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系统 返回包含 Windows XP 根目录(即系统根目录)的驱动器。
%SYSTEMROOT% 系统 返回 Windows XP 根目录的位置。
%TEMP% and %TMP% 系统和用户 返回对当前登录用户可用的应用程序所使用的默认临时目录。有些应用程序需要 TEMP,而其它应用程序则需要 TMP。
%TIME% 系统 返回当前时间。使用与 time /t 命令相同的格式。由 Cmd.exe 生成。有关 time 命令的详细信息,请参阅 Time。
%USERDOMAIN% 局部 返回包含用户帐户的域的名称。
%USERNAME% 局部 返回当前登录的用户的名称。
%UserProfile% 局部 返回当前用户的配置文件的位置。
%WINDIR% 系统 返回操作系统目录的位置。